Python `~Q~我的过滤器坏了吗?

Python `~Q~我的过滤器坏了吗?,python,django,Python,Django,我想查询状态!=4: from django.db.models import Q ... queryset = User.objects.filter(is_staff=True, is_admin=True, ~Q(status = 4), ) 但我错了: 怎么办?似乎~Q不起作用?在python中,关键字参数后不能有位置参数。您必须使用Q作为filter的第一个参数 queryset = User.objects.filter(is_staff=True, is_admin=True)

我想查询
状态!=4

from django.db.models import Q
...
queryset = User.objects.filter(is_staff=True, is_admin=True, ~Q(status = 4), )
但我错了:


怎么办?似乎
~Q
不起作用?

在python中,关键字参数后不能有位置参数。您必须使用
Q
作为
filter
的第一个参数

queryset = User.objects.filter(is_staff=True, is_admin=True).exclude(status=4)
queryset = User.objects.filter(~Q(status = 4), is_staff=True, is_admin=True)
~Q(状态==4)
Q(状态!=4)
“不工作”是什么意思?错误?无效结果?发生了什么事?您是否覆盖了用户?Django的用户模型没有状态字段。