我有两个数据库,A
和B
。
B
包含一个ForeignKey
至A
。
当我做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)
答案 0 :(得分:1)
尝试在批注中使用b__bags
查找
from django.db.models import Count
A.objects.annotate(bags_count=Count('b__bags'))
答案 1 :(得分:1)
from django.db.models import Count
A.objects.annotate(Y=Count('b__bags'))