Django:获取具有至少一个相关模型的模型的子集
Posted
技术标签:
【中文标题】Django:获取具有至少一个相关模型的模型的子集【英文标题】:Django: get subset of a model with at least one related model 【发布时间】:2013-05-13 14:26:42 【问题描述】:class Category(models.Model):
# fields
class Product(models.Model):
category = models.ForeignKey(Category)
# fields
假设并非所有类别都至少有一个产品,
我怎样才能获得至少关联一个产品的所有类别?
有没有办法用 Django 查询集来做到这一点?
【问题讨论】:
【参考方案1】:您应该可以在该类别上filter
。您想找到产品不为空的Category
对吗?:
Category.objects.filter(product_set__isnull=False).distinct()
【讨论】:
好一个,我没想到isnull
。无论如何,正确的形式是Category.objects.filter(product_set__isnull=False).distinct()
,否则我们会得到重复的类别。请更新答案以上是关于Django:获取具有至少一个相关模型的模型的子集的主要内容,如果未能解决你的问题,请参考以下文章