Django Запрос с запятой и без запятой

У меня есть файл .csv с одним столбцом (имя) и несколькими строками, содержащими строки, отформатированные следующим образом:

  1. "name, surname"
  2. "name surname"

Я просматриваю этот файл и проверяю, существуют ли они в моей базе данных

Единственная проблема заключается в том, что в моей базе данных все отформатировано следующим образом:

  1. "name, surname"

поэтому запрос без запятой не может быть найден, пока я не сделаю что-то вроде этого:

Model.objects.filter(name__search=row["name"])

Но это занимает очень много времени для загрузки...

есть ли другой способ?

Вы пробовали использовать contains? См. https://docs.djangoproject.com/en/4.0/ref/models/querysets/#contains-1

Возможно, будет быстрее, если вы сделаете:

Model.objects.filter(name__contains=row["name"])

Вы также можете попробовать использовать icontains, если хотите искать текст без учета регистра. См. https://docs.djangoproject.com/en/4.0/ref/models/querysets/#icontains

Если ни одна из этих альтернатив не работает для вас, другим вариантом будет обновление метода save в вашем Model, чтобы вы могли сохранять данные в формате, который вам нравится, и получать там последовательные результаты.

Вернуться на верх