我有一个使用django-taggit标记的对象。如果我想获取附加到该对象的所有标签的列表,我会像这样遵循文档:
apple = Food.objects.create(name="apple")
apple.tags.add("red", "green", "delicious")
apple.tags.all()
如果我想知道每个标签上附加了多少 Food 对象,我会执行以下操作:
Tag.objects.all().annotate(food_count=Count('food'))
如果我想计算仅附在“苹果”标签上的所有食品,我可以执行以下操作:
apple = Food.objects.create(name="apple")
apple.tags.add("red", "green", "delicious")
apple.tags.all().annotate(food_count=Count('food'))
好的,所以对于我的问题。假设我的 Food 模型有一个带有标志的字段:
class Food(models.Model):
name = models.CharField(max_length=200, unique = True)
healthy_flag = models.BooleanField(default=False)
如何计算仅附加到“苹果”标签上的所有健康食品(健康食品由healthy_flag = 1表示)?基本上,对于每个“苹果”标签,有多少健康食品共享该标签?