我需要对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'')
答案 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'')
仅排除两个条件。