Я делаю поисковый рафинер для своего сайта, а im в настоящее время делает запрос, который возвращает соответствующие списки на основе формы, которую пользователь заполнил. Проблема в том, что формы поля являются необязательными, и я не могу понять, как изменить свое изменение в зависимости от того, какие поля введены. Может ли кто-нибудь предложить эффективный способ сделать это? Ура!Как изменить поиск в Django Query на основе ввода пользователем
View -
def browse(request):
business_industry = request.GET.get('business_industry', '')
business_address_region = request.GET.get('business_address_region', '')
employment_type = request.GET.get('employment_type', '')
pay_rate = request.GET.get('pay_rate', '')
keywords = request.GET.get('keywords', '')
form = JobSearchForm()
job_listings = JobListing.objects.exclude(active_listing=False)
if business_industry == '' and business_address_region == '' and keywords == '' and pay_rate == '' and employment_type == '':
print("Nothing has been entered.")
else:
print(job_listings)
print("Something has been entered")
job_listings = JobListing.objects.filter(
Q(job_description__icontains=keywords) &
Q(business_industry=business_industry) &
Q(business_address_region__icontains=business_address_region)
).distinct()
context_dict = {
'joblistings': job_listings,
'form': form
}
return render(request, 'browse.html', context_dict)