有没有办法在Django中进行不区分大小写的IN查询?

Jor*_*ter 4 django case-sensitive django-queryset

Django中几乎所有类型的查找都有一个不区分大小写的版本,除了它,它出现了.

这是一个问题,因为有时我需要进行查找,我确定案例不正确.

Products.objects.filter(code__in=[user_entered_data_as_list])
Run Code Online (Sandbox Code Playgroud)

有什么办法可以解决这个问题吗?有没有人想出来解决这个问题呢?

Jor*_*ter 8

我通过使MySQL数据库本身不区分大小写来解决这个问题.我怀疑Django的人是否有兴趣将其添加为功能或提供有关如何提供自己的字段查找的文档(假设甚至可以在不为每个数据库后端提供代码的情况下)

这是一种方法,诚然这是笨重的.

products = Product.objects.filter(**normal_filters_here)
results = Product.objects.none()
for d in user_entered_data_as_list:
    results |= products.filter(code__iexact=d)
Run Code Online (Sandbox Code Playgroud)