gpt4 book ai didi

python-3.x - 如何在 Django 中进行计算外键对象的查询?

转载 作者:行者123 更新时间:2023-12-01 23:07:20 26 4
gpt4 key购买 nike

大家好!

Django 的新手,并且感到困惑,感谢帮助!我正在尝试创建一个表,例如:

<表类="s-表"><头>组织申诉总数书面上诉数量口头上诉数量<正文>组织1312组织2211

拥有三个模型:

class Organization(models.Model):
organization_name = models.CharField(max_length=50)


class AppealForm(models.Model):
form_name = models.CharField(max_length=50)


class Appeal(models.Model):
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
appeal_form = models.ForeignKey(AppealForm, on_delete=models.CASCADE)
applicant_name = models.CharField(max_length=150)

组织模型的对象:

<表类="s-表"><头>组织名称<正文>组织1组织2

AppealForm模型的对象:

<表类="s-表"><头>表单名称<正文>以书面形式口语形式

申诉模型的对象:

<表类="s-表"><头>组织上诉表格申请人姓名<正文>组织1以书面形式名字和姓氏组织1口语形式名字和姓氏组织1口语形式名字和姓氏组织2以书面形式名字和姓氏组织2口语形式名字和姓氏

如何进行复杂的查询,以从上诉模型中检索信息?并放置到上表的确切字段?:(

最佳答案

您可以查询:

from django.db.models import Count, Q

organizations = Organization.objects.annotate(
).annotate(
total=Count('appeal'),
total_written=Count('appeal', filter=Q(appeal__appeal_form__form_name='in written form')),
total_oral=Count('appeal', filter=Q('appeal__appeal_form__form_name='in oral form'))
)

然后我们可以渲染 Organization:

<table>
<thead>
<tr><th>Organization</th><th>Total amount of appeals</th><th>Amount of written form appeals</th><th>Amount of oral form appeals</th></tr>
</thead>
<tbody>
{% for organization in organizations %}
<tr><td>{{ organization.organization_name }}</td><td>{{ <strong>organization.total</strong> }}</td><td>{{ <strong>organization.total_written</strong> }}</td><td>{{ <strong>organization.total_oral</strong> }}</td></tr>
{% endfor %}
</tbody>
</table>

关于python-3.x - 如何在 Django 中进行计算外键对象的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70632287/

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