过滤器Django上或上的错误
我正在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()。 要使
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),
)