#python #django #filtering
#python #django #фильтрация
Вопрос:
def search(request):
queryset_list = Listing.objects.order_by('-list_date').filter(is_published=True)
if 'keywords' in request.GET:
keywords = request.GET['keywords']
if keywords:
queryset_list = queryset_list.filter(description__icontains=keywords)
if keywords:
queryset_list = queryset_list.filter(realtor__name__icontains=keywords)
Я хотел бы иметь возможность выполнять поиск в двух вещах одновременно. например, если описание содержит «big» и realtor__name
не содержит, я хотел бы по-прежнему видеть объект с big и same для realtor__name
, даже если в описании его нет, я хотел бы его получить.
Спасибо
Ответ №1:
Похоже, вам нужен or
оператор
Пример:
from django.db.models import Q
if keywords:
queryset_list = queryset_list.filter(Q(description__icontains=keywords) |
Q(realtor__name__icontains=keywords))
Комментарии:
1. Пожалуйста, примите ans (символ галочки), если это решило вашу проблему. Спасибо