对于一个模型,例如披萨与模特Topping有很多关系 如何仅使用2个Toppings查询所有Pizzas?
我之前迭代过Pizzas并对Toppings计数进行了单独的查询,并且只在我的列表中添加了一个2。但我遇到了性能问题。
答案 0 :(得分:2)
您可以按注释进行过滤(在https://docs.djangoproject.com/en/dev/topics/db/aggregation/#filtering-on-annotations中描述)
doubles = ( Pizza
.objects
.annotate(num_toppings=Count('toppings'))
.filter(num_toppings=2)
)
答案 1 :(得分:0)
你有没有尝试过类似的东西:
from django.db.models import Count
Pizzas.objects.annotate(tc=Count('toppings')).filter(tc=1)