Django __in нижний регистр
-
29-09-2019 - |
Вопрос
я использую Джанго-Таггит, который обрабатывает прикрепление тегов к произвольным типам контента. Я импортировал большой список тегов, который содержит много прописных слов, а также строчные слова.
Теперь я пытаюсь получить объекты другого класса, содержащий набор тегов, но я хочу нечувствительно сравнить. Когда я делаю это:
Media.objects.filter(tags__name__in=['tag1', 'tag2'])
Объекты, содержащие, например, тег «TAG1» не найдены, только те, с «TAG1» или «TAG2».
Есть ли в Django Orm возможность сделать что -то вроде:
Media.objects.filter(tags__name__iin=['tag1', 'tag2'])
Это действует как «заканчивания»?
Решение
Нет простого способа сделать это. Я не уверен на 100%, вы можете попробовать что -то подобное для вашей проблемы.
from django.models import Q
q = Q()
for tag in tags.split():
q |= Q(tags__name__iexact=tag)
Media.objects.filter(q)
Не связан с StackOverflow