gpt4 book ai didi

python - Django - 是否可以在 Count() 中执行查询集

转载 作者:行者123 更新时间:2023-12-01 08:59:13 25 4
gpt4 key购买 nike

我有以下型号

class Client(models.Model):
...

class Request(models.Model):
...
client = models.ForeignKey(Client, on_delete=models.SET_NULL, null=True)
completed = models.BooleanField()

我想获取客户端查询集的所有已完成请求的计数。以下语句获取所有请求,但不检查请求是否完成。

clients = Client.objects.filter(...).annotate(Count('request'))

我想要的是这样的:

clients = Client.objects.filter(...).annotate(Count(request__completed=True))

如何实现这一目标?

最佳答案

正如 @Red Cricket 提到的,您可以通过 dajngo 的 count() 获取过滤计数方法为

Client.objects.filter(my_otherfilters..<b>,request__completed=True).count()</b>

这将返回一个代表计数的整数值

<小时/>

如果您想要 QuerySet 以及 count

qs = Client.objects.filter(my_otherfilters..<b>,request__completed=True</b>) # the "qs" will get the querysets
qs_count = qs<b>.count()</b> # "qs_count" will return the count

关于python - Django - 是否可以在 Count() 中执行查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52583613/

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