gpt4 book ai didi

python - 在 Django 中,我如何在单个查询中根据不同的字段值获取总行数?

转载 作者:行者123 更新时间:2023-11-28 21:54:54 25 4
gpt4 key购买 nike

这似乎是一个很常见的场景,所以我真的希望有人能为我快速解答。

考虑这样一种情况,我有多个网站,每个网站有多家公司,我正在为其收集潜在客户。所以我有一个潜在客户表,其中每条记录都有以下字段:日期站点公司(一个潜在客户可以去多个公司), 用户评论。现在我需要生成一个摘要,其中给出每个公司每个日期在每个网站上获得的潜在客户总数。

所以基本上我需要一个查询,它会为我提供每个网站上每个公司的总行数。这甚至可以在单个查询中完成吗?

或者,我们可以轻松地遍历站点,在这种情况下,我们只需要计算属于给定特定站点的每个公司的行数。

欣赏任何想法。下面是一个示例模型:

class Lead(models.Model):
date = models.DateTimeField(auto_now_add=True)
site = models.ForeignKey(Site)
companies = models.ManyToManyField(Company)
user = models.ForeignKey(User)
comment = models.TextField()

最佳答案

所以我一直在摆弄这个,我相信我已经想出了一个可以产生我想要的结果的解决方案。鉴于上面的模型,我正在使用以下内容:

Lead.objects.values('site', 'companies').annotate(Count('id'))

这会生成一个字典列表,每个唯一的网站/公司组合一个字典,每个字典包含一个 id__count 键,该键包含该网站和公司的特定组合的总行数。如果一条线索关联了多家公司,则会为每个公司生成一个单独的字典。

在我们的实际模型中,我们还有不同类型的线索和一个附加字段类型。因此,如果我也想考虑到这一点,我只需向模型添加一个 type 字段并使用以下内容:

Lead.objects.values('site', 'companies', 'type').annotate(Count('id'))

使用它,我将为每个网站、每种类型、每个公司获得一本字典,每个字典都有自己的计数。 Django 非常聪明!

无论如何,我确定是基本问题,但我找不到任何可以解决的问题。希望这对某人有帮助。

关于python - 在 Django 中,我如何在单个查询中根据不同的字段值获取总行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429968/

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