У меня возникла проблема с поиском объектов Q, тогда как при поиске пользователем нескольких терминов поиск ничего не возвращает, если все члены не находятся в одном объекте.Объединение объектов Django Q в один фильтр
Если вы идете на https://www.soledadmemorial.com/plaques и ищите David S Hackley
, поиск не возвращает ничего, но если вы ищете только David S
, вы получите результат.
Я попытался объединить фильтр, как (Q(first_name__icontains=query), Q(last_name__icontains=query))
, но только получить ошибку. Ниже мой текущий код. Это работает без объединения поисковых запросов с несколькими объектами.
...
if query:
queryset_list = queryset_list.filter(
Q(first_name__icontains=query) |
Q(last_name__icontains=query) |
Q(branch__icontains=query) |
Q(rank__icontains=query) |
Q(group__group_name__icontains=query) |
Q(veteran__name__icontains=query)
).distinct()
...
Я не понимаю, как вы имеете в виду объединить поиск из нескольких объектов –
Что запрос на самом деле порожденная Django, и что вы ожидаете? – spectras