2017-06-21 11 views
-1

コンテンツがない場合は、ページにテキストメッセージを表示します。たとえば、ユーザーにお気に入りがなく、ユーザーがお気に入りのページをクリックした場合、お気に入りのページに「あなたはお気に入りがありません」のようなものを表示したいとします。Django - ページにコンテンツがない場合はメッセージを表示します

これは私のモデルのお気に入りです:私はFOREIGNKEYの代わりにOneToOneFieldた場合

class Favorite(models.Model): 
user_id = models.ForeignKey(User, on_delete=models.CASCADE) 
content_id = models.ForeignKey(ContentItem, on_delete= models.CASCADE) 

今、私はのFavorites.html

{% if not user.favorite %} 
    <H2>Oops, You don't have any Favorites </H2> 
    Please visit <a href="{% url 'index' %}">our page</a> to make some favorites 
    {% endif %} 

に次のように行っている可能性が、それはすることはできませんもちろんOneToOneFieldは1つのユーザーが多くのお気に入りを持つことができます。事前に

おかげ

編集:どのようにこれはおそらく言及した質問と重複することができ、別の質問は、この質問の答えに関係しているが、それがすべてです。この質問に対する答えを知る前に、ユーザーはその質問をどのように知ることができますか?私の質問は「x」について行い、djangoには特定の関係「r」があります。これは「x」(多分唯一の方法ではありません)を助けることができます。別の質問は「r」は何ですか?今、この質問は別の質問と重複していますか?

Edit2:特定の問題の答えを知らないために、downvote?私はその質問がいくつかの研究を示していると思いますが、それははっきりと簡潔です。

+0

可能な複製(https://stackoverflow.com/questions/17328910/django-what-is-reverse-関係) –

答えて

1

あなたはForeignKeyのために逆の関係を使用することができます[?Djangoの逆の関係で何]の

{% if not user.favorite_set.all %} 
    You have no favorites 
{% endif %} 
関連する問題