Django过滤器中等于和不等于的组合

时间:2016-07-18 12:07:44

标签: django django-models

我试图在Django对象过滤器中使用not equals进行过滤,如下所示:

peculiarties = MetricAssociation.objects.filter(metric=metric, specifics != null)

这不是!=的原因。但是,我已经使用exclude()等对此进行了大量研究,但似乎无法在一个Django查询中找到允许真假过滤的任何内容。

有关如何同时执行True(metric = metric)和False(specifics!= null)的建议吗?

3 个答案:

答案 0 :(得分:2)

您可以将Q objects用于此类方案,

答案 1 :(得分:1)

不需要Q对象。这内置于Django querysets

peculiarties = MetricAssociation.objects.filter(metric=metric, specifics__isnull=False)

请注意,有一个双下划线。

答案 2 :(得分:0)

或过滤和排除的组合。

MetricAssociation.objects.filter(metric=metric).exclude(specifics=None)