我有三个模特
class ModelA(models.Model):
name = CharField(max_length=100)
class ModelB(models.Model):
modela = ForeignKey(ModelA)
class ModelC(models.Model):
modelb = ForeignKey(ModelB)
如何使用“关联的”ModelC对象的数量打印所有ModelA对象?
输出:
name, num model c objects
======
Some name, 17
Another name, 3
我尝试过像这样从ModelA创建一个查询集:
ModelA.objects.all().values('name').annotate('modelb_set__modela_set')
但它不起作用。
答案 0 :(得分:1)
您应在此处使用Count
并在查询中引用ModelC
from django.db.models import Count
ModelA.objects.all().values('name').annotate(num_model_c_objects=Count('modelb__modelc'))