Django: 获取至少存在一个关联模型的模型子集

6
class Category(models.Model):
    # fields

class Product(models.Model):
     category = models.ForeignKey(Category)
     # fields

假设并非所有类别都至少有一个产品,
我该如何获取至少有一个产品关联的所有类别?
是否可以使用Django查询集完成此操作?
1个回答

6
你应该能够在类别上进行筛选。你想找到产品不为空的类别,对吗?filter是指筛选出符合条件的结果。
Category.objects.filter(product_set__isnull=False).distinct()

1
不错,我没有想到 isnull。无论如何,正确的形式应该是 Category.objects.filter(product_set__isnull=False).distinct(),否则我们会得到重复的类别。请更新答案。 - apelliciari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接