Python django过滤器中的逻辑操作

Python django过滤器中的逻辑操作,python,django,django-q,Python,Django,Django Q,我需要在以下位置获取查询集: (a="a" AND b=None) OR (a=None AND b="b") 我知道django中的Q对象,但这种语法不起作用: cls.objects.filter(models.Q(a="a", b=None) | models.Q(a=None, b="b")) 我绝对肯定我的数据库包含预期的对象。但我得到的只是空的查询集。 我想这里的语法有些问题。但是在哪里呢? 试试这个 试试这个cls.objects.filter(models.Q(a=“a”,

我需要在以下位置获取查询集:

(a="a" AND b=None) OR (a=None AND b="b")
我知道django中的Q对象,但这种语法不起作用:

cls.objects.filter(models.Q(a="a", b=None) | models.Q(a=None, b="b"))
我绝对肯定我的数据库包含预期的对象。但我得到的只是空的查询集。
我想这里的语法有些问题。但是在哪里呢?

试试这个


试试这个

cls.objects.filter(models.Q(a=“a”,b_uuisnull=True)| models.Q(a_uisnull=True,b=“b”))
类似的结果-空查询能否告诉我数据库中的列中有什么?您是否正在尝试查找其中包含a和b字符串的所有内容?我有两列,分别称为
a
b
。我需要得到的就是——带字符串的对象等于我的请求参数。我的意思是,如果数据库中有一行
a==“a”
b==None
,我需要这一行。如果
a==“aaaa”
我不需要它。你能显示你试图获取复制链接的两行吗:
cls.objects.filter(models.Q(a=“a”,b_uuisnull=True)| models.Q(a_uisnull=True,b=“b”)
类似的结果-空查询能否告诉我你数据库中的一列中有什么?您是否正在尝试查找其中包含a和b字符串的所有内容?我有两列,分别称为
a
b
。我需要得到的就是——带字符串的对象等于我的请求参数。我的意思是,如果数据库中有一行
a==“a”
b==None
,我需要这一行。如果
a==“aaaa”
我不需要它。你能显示你试图获取复制链接的两行吗:
cls.objects.filter(models.Q(a="a", b='None') | models.Q(a='None' AND b="b"))