[英]QUERYSET: How can I filter by field in a list (case insensitive)
我想使用 __in 过滤字段,但我也希望它在传递给查询时不区分大小写
这是我尝试过的事情:
fields = ['Banana','Water Melon','grapes']
MyModel.objects.filter(field__in__icontains=fields).values()
并返回一个错误(当然)。
不支持在 CharField 中查找或加入不允许的字段,也许您的意思是 in?
我希望它是那样的。 任何帮助/启示将不胜感激,
预先感谢您的帮助
我不认为 Django ORM 支持类似的东西,但黑客可以使用 UNION。
尚未对其进行测试,但尝试通过执行类似以下操作来冲击大脑:
fruits = ['Banana', 'mango', 'Ginger']
queryset = Fruit.objects.all()
for fruit in fruits:
queryset = queryset.union(Fruit.objects.filter(name__icontains=fruit)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.