【问题标题】:Django | Aggregate Values from Foreign Key姜戈 |从外键聚合值
【发布时间】:2019-01-04 03:26:11
【问题描述】:

我有两个数据库,AB

B 包含一个ForeignKeyA

当我输入B.objects.filter(a_id=3).values('bags').count() 时,我得到了我想要的号码Y

为了将这个数字Y 作为注释添加到数据库A 中,我需要什么命令集?

理想情况下,这将是 annotate 类型的命令。

模型看起来像:

class A(models.Model):
    name = models.CharField(max_length=150)

class B(models.Model):
    name = models.CharField(max_length=150)
    a_id = models.ForeignKey(A, on_delete=models.CASCADE)
    bags = models.ManyToManyField(Bags)

class Bags(models.Model):
    name = models.CharField(max_length=150)

【问题讨论】:

  • 你能展示你的模型吗?
  • 我不确定看到我的模型会有什么帮助,但可以肯定。

标签: python django


【解决方案1】:

尝试在注解中使用b__bags查找:

from django.db.models import Count
A.objects.annotate(bags_count=Count('b__bags'))

【讨论】:

【解决方案2】:
from django.db.models import Count

A.objects.annotate(Y=Count('b__bags'))

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 2020-08-17
    • 2010-12-21
    • 2012-05-29
    • 2017-02-08
    • 2017-10-16
    • 2011-01-27
    • 2016-01-06
    • 2014-06-02
    相关资源
    最近更新 更多