【问题标题】:Django: get subset of a model with at least one related modelDjango:获取具有至少一个相关模型的模型的子集
【发布时间】:2013-05-13 14:26:42
【问题描述】:
class Category(models.Model):
    # fields

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

假设并非所有类别都至少有一个产品,

我怎样才能获得至少关联一个产品的所有类别

有没有办法用 Django 查询集来做到这一点?

【问题讨论】:

    标签: python django models django-queryset


    【解决方案1】:

    您应该可以在该类别上filter。您想找到产品不为空的Category 对吗?:

    Category.objects.filter(product_set__isnull=False).distinct()
    

    【讨论】:

    • 好一个,我没想到isnull。无论如何,正确的形式是Category.objects.filter(product_set__isnull=False).distinct(),否则我们会得到重复的类别。请更新答案
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2011-12-02
    • 2016-11-06
    相关资源
    最近更新 更多