gpt4 book ai didi

Django 查询多对一关系

转载 作者:行者123 更新时间:2023-12-05 00:38:19 26 4
gpt4 key购买 nike

我有三个模型,一个主题可以有零个或多个问题,一个问题可以有零个或多个答案。只有一个答案是正确的。

他们是多对一的关系。

class Topic(models.Model):

class Question(models.Model):
topic = models.ForeignKey(Topic)

class Answer(models.Model):
question = models.ForeignKey(Question)
isright = models.BooleanField(verbose_name='Right')

现在我尝试根据主题循环问题,如何使用模板实现它?
<topic>

<question>
<answer>
<answer>
<answer>
<answer>

<question>
<answer>
<answer>
<answer>
<answer>

如何为问题添加分页器?
paginator = Paginator(topic.question_set.all(), 25) 

最佳答案

如果我理解得很好,您想遍历按“主题”排序的答案:

answers = Answer.objects.order_by('question__topic', 'question')

或者:
for topic in Topic.objects.all():
for question in topic.question_set.all():
for answer in question.answer_set.all():
...do something...

在模板中你可以做同样的事情,提供变量 topics作为 Topic.objects.all():
{% for topic in topics %}
{% for question in topic.question_set.all %}
{% for answer in question.answer_set.all %}
...do something...
{% endfor %}
{% endfor %}
{% endfor %}

关于Django 查询多对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5705380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com