Как искать с частичным точным соответствием в Джанго - PullRequest
0 голосов
/ 09 ноября 2019

Определение таблицы:

class Hello(models.Model):
  name models.CharField(max_length=64, blank=True)

2 записи в дБ:

#1 aaaa-bbbb (cd)
#2  aaa-bbbb (cef)

Ключевое слово поиска: 'aaa-bbbb' или 'aaa-bbbb (c',

ret = models.Hello.objects.filter(Q(name__icontains='aaa-bbbb'))

Ожидаемый результат # 2, но найдено 2 записи.

Как найти # 2?

1 Ответ

1 голос
/ 09 ноября 2019

Вместо icontains используйте iexact следующим образом:

ret = models.Hello.objects.filter(name__iexact='aaa-bbbb')

Вам не нужно использовать Q, если вы фильтруете только по одному полю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...