Невозможность поиска определенных слов из поля, использующего поле richtext - Django
Я сделал функцию поиска в своем проекте, где пользователь может ввести запрос, и ряд полей будет перебираться перед отправкой ответа с отфильтрованными данными. Как обычно, я использую icontains в представлениях для создания запросов в моей модели. Я скопировал определенные слова непосредственно из поля, использующего ckeditor, в панель поиска, чтобы проверить, работает ли это. Я заметил, что она не может подобрать определенные слова, выделенные жирным шрифтом.
На рисунке, например, при поиске слов арбитражное соглашение не возвращаются данные, но, как вы можете видеть, слова существуют в поле. Это происходит со всеми жирными словами.
Пожалуйста, помогите мне решить проблему, так как я не могу понять, почему это происходит. Ниже приведено представление, которое работает с функцией поиска. Для поля используется ckeditor.
views.py
def search_citation(request):
q = request.data.get('q')
print(f'{q}')
if q is None:
q = ""
if len(q) > 78 or len(q) < 1:
return Response({"message":'not appropriate'}, status=status.HTTP_200_OK)
try:
judge_name = Civil.objects.filter(judge_name__icontains = q)
case_no = Civil.objects.filter(case_no__icontains = q)
party_name = Civil.objects.filter(party_name__icontains = q)
advocate_petitioner = Civil.objects.filter(advocate_petitioner__icontains = q)
advocate_respondent = Civil.objects.filter(advocate_respondent__icontains = q)
judgements = Civil.objects.filter(judgements__icontains = q)
institution_name = Civil.objects.filter(institution_name__icontains = q)
title = Civil.objects.filter(title__icontains = q)
sub_law_type = Civil.objects.filter(sub_law_type__icontains = q)
law_category = Civil.objects.filter(law_category__icontains = q)
q_final = judge_name | case_no | party_name | advocate_petitioner | advocate_respondent | title | sub_law_type | law_category | judgements | institution_name
q_serial = Initial_Detail_Serial(q_final, many = True)
return Response(q_serial.data, status= status.HTTP_200_OK)
except Exception as e:
print(e)
return Response({"error":str(e)}, status=status.HTTP_400_BAD_REQUEST)