假设我有 2 个模型:
class Recipe(models.Model):
recipe = models.TextField()
ingredients = models.ManyToManyField(Ingredient)
class Ingredient(models.Model):
name = models.CharField()
我想知道所有食谱中使用最多的成分是什么。
我该如何查询?
在https://docs.djangoproject.com/en/dev/topics/db/aggregation/阅读有关聚合和注释的信息
要获得最常见成分的名称:
from django.db.models import Count
most_common = Ingredient.objects.annotate(num_recipes=Count('recipe')).order_by('-num_recipes')[0]
print most_common.name