Django将这两个字段排除在外

时间:2015-01-22 20:09:28

标签: python django

我需要对django查询进行排除,以排除两个字段都为空的记录,但如果有一个或另一个或两者都包含。

我的模型看起来像

class Example(models.Model):
  title = models.CharField(max_length=140, blank=True)
  name = models.CharField(max_length=140, blank=True)

现在我正在将查询编写为

Example.objects.filter(general_query).exclude(title=u'').exclude(name=u'')

2 个答案:

答案 0 :(得分:2)

使用Q对象

https://docs.djangoproject.com/en/1.6/topics/db/queries/#complex-lookups-with-q-objects

Example.objects.filter(general_query).exclude(Q(title='') & Q(name=''))

答案 1 :(得分:1)

或者,只需将2个条件放在同一exclude()

Example.objects.filter(general_query).exclude(title=u'', name=u'')

仅排除两个条件。