django多态模型,过滤子类字段

时间:2013-04-15 19:50:50

标签: django model polymorphism

我有一些使用django-polymorphic-model

的模型

例如

class Article(PolymorphicModel):
  ...
class Blog(Article):
  tags = ...
class Story(Article):
  publish = ...

通常情况下,如果我收到所有文章,我只会Article.objects.all(),但是如果我想获得标签为空的所有文章呢?如果我Articles.objects.filter(tags__isnull=True)它将会中断,因为其他模型没有这个字段,我也想包含Story条目,我是否真的必须分成2个不同的查询并再次组合?

2 个答案:

答案 0 :(得分:3)

确定在通过问题挖掘documentation之后,以下是如何做到这一点

Articles.objects.filter(Blog___tags__isnull=True)

答案 1 :(得分:0)

希望您之前找到了答案。

Articles.objects.filter(Q(Blog___tags__isnull=True)|Q(Story__tags__isnull=True))