Вопрос:

Набор запросов Django __ содержит регистр символов?

django django-models

5014 просмотра

2 ответа

1556 Репутация автора

Я хочу выполнить простой запрос:

Pizza.object.filter(topping__contains='PEPERONI')

Таким образом, это работает как шарм. Но если я попробую это:

Pizza.object.filter(topping__contains='peperoni')

Это не работает.

Вы знаете, почему он чувствителен к регистру? Есть ли возможность отменить эту функцию от Django?

Автор: Alex Grs Источник Размещён: 26.08.2012 05:35

Ответы (2)


13 плюса

41411 Репутация автора

Решение

Использование Pizza.object.filter(topping__icontains='peperoni').

Фильтр с __icontainsпроверкой.

Автор: Rohan Размещён: 26.08.2012 05:37

0 плюса

19 Репутация автора

Вам нужно будет импортировать и использовать Qобъект:

from django.db.models import Q 

Resulting_Queryset = MyModel.objects.filter(Q(name__istartswith='Nishank Gupta'.strip().lower()) &  Q(name__iendswith='Nishank Gupta'.strip().lower()))

Этот матч будет Nishank Guptaи Nishank GUPTA и NisHANnk Guptaи так далее. Надеюсь это поможет. Пожалуйста, дайте мне знать ваши взгляды.

Или используйте iexact:

MyModel.objects.filter(name__iexact='Nishank Gupta'.strip().lower()) 
Автор: Nishank Gupta Размещён: 19.06.2017 07:15
Вопросы из категории :
32x32