[英]How to add multiple filters in django query set
我有一个查询集
queryset = Record.objects.filter(type__icontains='28').exclude..............
我还想在我的过滤器中添加一些其他类型,例如type__icontains='28' , type__icontains='14', type__icontains='20'
等。
我怎样才能做到这一点? 请帮忙
您有两个选项需要决定使用哪一个,因为您的问题不是很完整。
IN 语法
这基本上是说明select values where <attribute> IN <set>
result = SomeModel.objects.filter(id__in=[28,14,20])
# same as
SELECT * FROM SomeModel WHERE SomeModel.id IN (28,14,20)
Q 对象
您将需要使用Q
对象。 它们允许复杂的数据查询。 好消息是,一旦您阅读了django docs
(它真的很完整),您应该能够轻松地将它们实现到您的代码中。
在您的问题中,您没有说明您是尝试执行AND
还是OR
。 作为起点,您可以执行以下操作:
# AND
Q(type_icontains=28) & Q(type_icontains=14)
# OR
Q(type_icontains=28) | Q(type_icontains=14)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.