过滤器Django上或上的错误

过滤器Django上或上的错误,django,filter,orm,Django,Filter,Orm,我正在django上尝试创建或筛选 这是我的小例子: products=Products.objects.values('name', 'price').all().filter(status=1|0) 问题在于不验证这两个选项(1 | 0) 打印时不要出错(products.query)只验证一个选项,不要验证两个选项 请谢谢 要在django中使用或进行过滤,需要一个名为Q的特殊类。 使用对象是很好的 您需要知道,管理器上的方法all()只是委托给get\u queryset()。 要使

我正在django上尝试创建或筛选

这是我的小例子:

products=Products.objects.values('name', 'price').all().filter(status=1|0)
问题在于不验证这两个选项(1 | 0) 打印时不要出错(products.query)只验证一个选项,不要验证两个选项


请谢谢

要在django中使用进行过滤,需要一个名为
Q
的特殊类。

使用对象是很好的

您需要知道,管理器上的方法
all()
只是委托给
get\u queryset()
。 要使用
filter()
,您已经有了
QuerySet

与其调用queryset的
all()
和已经调用queryset的
filter
, 只需执行
manager.filter()

all().filter()
变得只是
filter()
,因为它是冗余的 这是:

from django.db.models import Q

products = Product.objects.values('name','price').filter(
                 Q(status=1) | Q(status=0),
           )

all().filter()是否冗余为什么?也许你能告诉我这个。。谢谢检查下面,我解释道,谢谢,我想我需要阅读更多的文档
manager.filter(Q(status=1) | Q(status=0))
from django.db.models import Q

products = Product.objects.values('name','price').filter(
                 Q(status=1) | Q(status=0),
           )