如何加入相关对象并在模板中渲染它们?
How to join related objects and render them in template?
我有两个相关车型:
class Poll(models.Model):
creator = models.ForeignKey(User, blank=True, null=True)
title = models.CharField(max_length=300)
pub_date = models.DateTimeField('date published')
published = models.BooleanField(default=True)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=300)
votes = models.IntegerField(default=0)
我的问题是如何在模板中列出所有投票及其各自的选择。
我现在的 ORM 查询是:
polls = Choice.objects.select_related('poll')
并在模板中:
{% for p in polls %}
<li>{{p.choice_text}}</li>
{% endfor %}
但是这个解决方案只列出了选项。我想要的是呈现与每个民意调查相关的选择。我怎样才能做到这一点?
查询集:
polls = Polls.objects.all() # Give you all polls
模板:
{% for p in polls %}
<p>Poll :{{ p.title }}</p>
<ul>
{% for choice in p.choice_set.all %}
<li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>
{% endfor %}
如果我理解你的问题,希望这对你有所帮助
我有两个相关车型:
class Poll(models.Model):
creator = models.ForeignKey(User, blank=True, null=True)
title = models.CharField(max_length=300)
pub_date = models.DateTimeField('date published')
published = models.BooleanField(default=True)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=300)
votes = models.IntegerField(default=0)
我的问题是如何在模板中列出所有投票及其各自的选择。
我现在的 ORM 查询是:
polls = Choice.objects.select_related('poll')
并在模板中:
{% for p in polls %}
<li>{{p.choice_text}}</li>
{% endfor %}
但是这个解决方案只列出了选项。我想要的是呈现与每个民意调查相关的选择。我怎样才能做到这一点?
查询集:
polls = Polls.objects.all() # Give you all polls
模板:
{% for p in polls %}
<p>Poll :{{ p.title }}</p>
<ul>
{% for choice in p.choice_set.all %}
<li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>
{% endfor %}
如果我理解你的问题,希望这对你有所帮助