Я пытался реализовать функциональность trigram_s Similar в моем бэкэнд-коде Django. Я получаю ошибку
web_1 | Traceback (последний вызов был последним):
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", строка 41, внутри
web_1 | response = get_response (запрос)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", строка 187, в _get_response
web_1 | response = self.process_exception_by_middleware (e, запрос)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", строка 185, в _get_response
web_1 | response = wrapped_callback (запрос, * callback_args, ** callback_kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", строка 58, в wrapped_view
web_1 | return view_func (* args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", строка 68, вид
web_1 | вернуть self.dispatch (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", строка 489, в отправке
web_1 | response = self.handle_exception (exc)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", строка 449, в handle_exception
web_1 | self.raise_uncaught_exception (отл)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", строка 486, в отправке
web_1 | ответ = обработчик (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/generics.py", строка 201, в get
web_1 | вернуть self.list (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py", строка 40, в списке
web_1 | queryset = self.filter_queryset (self.get_queryset ())
web_1 | Файл "/usr/local/lib/python3.6/site-packages/profilehooks.py", строка 239, в new_fn
web_1 | return fp (* args, ** kw)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/profilehooks.py", строка 347, в вызов
web_1 | возвращение profiler.runcall (self.fn, * args, ** kw)
web_1 | Файл "/usr/local/lib/python3.6/cProfile.py", строка 109, в runcall
web_1 | return func (* args, ** kw)
web_1 | Файл "/code/src/users/views.py", строка 266, в filter_queryset
web_1 | major__name__trigram_s Similar = "CS"
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", строка 784, в фильтре
web_1 | return self._filter_or_exclude (False, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", строка 802, в _filter_or_exclude
web_1 | clone.query.add_q (Q (* args, ** kwargs))
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py", строка 1250, в add_q
web_1 | предложение, _ = self._add_q (q_object, self.used_aliases)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py", строка 1276, в _add_q
web_1 | allow_joins = allow_joins, split_subq = split_subq,
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py", строка 1210, в build_filter
web_1 | condition = self.build_lookup (lookups, col, value)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py", строка 1102, в build_lookup
web_1 | lhs = self.try_transform (lhs, имя, поиск)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py", строка 1120, в try_transform
web_1 | (name, lhs.output_field. class . name ))
web_1 | django.core.exceptions.FieldError: Неподдерживаемый поиск 'trigram_s Similar' для CharField или объединение в поле не разрешено.
web_1 | 2018-11-11 19: 03: 58,144 ОШИБКА Внутренняя ошибка сервера: / mentors /
web_1 | Traceback (последний вызов был последним):
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", строка 41, во внутреннем
web_1 | response = get_response (запрос)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", строка 187, в _get_response
web_1 | response = self.process_exception_by_middleware (e, запрос)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", строка 185, в _get_response
web_1 | response = wrapped_callback (запрос, * callback_args, ** callback_kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", строка 58, в wrapped_view
web_1 | return view_func (* args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", строка 68, вид
web_1 | вернуть self.dispatch (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", строка 489, в отправке
web_1 | response = self.handle_exception (exc)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / rest_framework / views.py ", строка 449, в handle_exception
web_1 | self.raise_uncaught_exception (отл)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / rest_framework / views.py ", строка 486, в отправке
web_1 | ответ = обработчик (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / rest_framework / generics.py ", строка 201, в get
web_1 | вернуть self.list (запрос, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / rest_framework / mixins.py ", строка 40, в списке
web_1 | queryset = self.filter_queryset (self.get_queryset ())
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / profilehooks.py ", строка 239, в new_fn
web_1 | return fp (* args, ** kw)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / profilehooks.py ", строка 347, в вызов
web_1 | возвращение profiler.runcall (self.fn, * args, ** kw)
web_1 | Файл "/usr/local/lib/python3.6/cProfile.py", строка 109,
в runcall
web_1 | return func (* args, ** kw)
web_1 | Файл "/code/src/users/views.py", строка 266, в
filter_queryset
web_1 | major__name__trigram_s Similar = "CS"
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / query.py ", строка 784, в фильтре
web_1 | вернуть self._filter_or_exclude (False, * args, ** kwargs)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / query.py ", строка 802, в _filter_or_exclude
web_1 | clone.query.add_q (Q (* args, ** kwargs))
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / sql / query.py ", строка 1250, в add_q
web_1 | предложение, _ = self._add_q (q_object, self.used_aliases)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / sql / query.py ", строка 1276, в _add_q
web_1 | allow_joins = allow_joins, split_subq = split_subq,
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / sql / query.py ", строка 1210, в build_filter
web_1 | условие = self.build_lookup (поиск, столбец, значение)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / sql / query.py ", строка 1102, в build_lookup
web_1 | lhs = self.try_transform (lhs, имя, поиск)
web_1 | Файл "/usr/local/lib/python3.6/site-
packages / django / db / models / sql / query.py ", строка 1120, в try_transform
web_1 | (name, lhs.output_field. class . name ))
web_1 | django.core.exceptions.FieldError: Неподдерживаемый поиск 'trigram_s Similar' для CharField или объединение в поле не разрешено.
Я следовал инструкциям на этой странице https://docs.djangoproject.com/en/2.0/ref/contrib/postgres/lookups/, но безрезультатно. Я правильно установил зависимости и добавил дополнительные файлы.
for item in query:
item_alias = trans_dict.get(item.lower(),item)
major_alias = major_dict.get(item.lower(),item)
queryset = queryset.filter(
major__name__trigram_similar = major_alias
)
SOS!