django过滤器中的逻辑操作

Logical operations in django filter

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

(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"))

我绝对确定我的数据库包含预期的对象。但我得到的只是空查询集。
我猜这里的语法有问题。但是在哪里?
excepted rows picture. i need only first one and second one

cls.objects.filter(models.Q(a="a", b='None') | models.Q(a='None' AND b="b"))

试试这个