Djangoで下記のようなコードがあります。
model
1class Conversation(models.Model): 2 title_in_English = models.CharField(max_length=255) 3 titleslug = models.SlugField() 4 def __str__(self): 5 return self.titleslug 6 class Meta: 7 ordering = ["titleslug"] 8 9class Conversationtext(models.Model): 10 title = models.ForeignKey(Conversation, on_delete=models.CASCADE) 11 english_conversations = models.CharField(max_length=255) 12 english_pronunciation = models.CharField(max_length=255)
view
1def blog_conversation(request, conversation): 2 posts = Conversation.objects.filter(titleslug__contains=conversation).distinct() 3 lists = Conversationtext.objects.distinct() 4 context = {"conversation": conversation, "posts": posts, "lists": lists,} 5 return render(request, "blog_conversation.html", context)
html
1{% for i in posts.all %} 2<p>{{i}} 3<p>{{i.title_in_English}}#Englishのタイトルを表示 4 5{% endfor %} 6-- 7{{ lists }} 8-- 9 10{% for i in lists %} 11<p>English --> {{i.english_conversations}} 12<p>English --> {{i.english_pronunciation}} 13{% endfor %}
この時HTML上に、
投稿したtitle_in_Englishに紐づいたenglish_conversationsとenglish_pronunciationだけを表示させたいのですが、
上記コードの場合、複数投稿すればするだけ、その全てのtitle_in_Englishに紐づいたenglish_conversationsとenglish_pronunciation
<p>English --> {{i.english_conversations}} <p>English --> {{i.english_pronunciation}}
の部分が表示されています。
filterを使うのかな、という気はしているのですが、どのように解決すれば良いかわかりません。
お手数ですがお分かりの方いましたらご教示お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。