мой запрос не работает должным образом. когда я выбираю мужскую часть, а затем age_from до age_to и date_from до date_to, он фактически не выбирает мужчину из моей базы данных в соответствии с моим запросом. Фактически в соответствии с моей мужской записью в возрасте от 5 до 15 лет и датой 2011-04-05 2011-05-05 только 1, но показывает 3 записи.
это мой запрос:
Patient = PatientInfo.objects.filter (dateedit__range = (date_from, date_to), age__range = (age_from, age_to), пол__iexact = 'мужской')
Я думаю, что в моем запросе что-то не так ... Я не понимаю, точно ...
flag = 0
if request.POST.has_key ('пол'):
search_gender = request.POST ["пол"]
if search_gender == 'male':
flag == 1
if search_gender == 'female':
flag == 2
if search_gender == 'both':
flag == 3
age_from = request.POST["age_from"]
age_to = request.POST["age_to"]
date_from = request.POST["date_from"]
date_to = request.POST["date_to"]
пациент = PatientInfo ()
if date1 and date2:
if age1 and age2:
if flag == 1:
patient = PatientInfo.objects.filter(dateedit__range=(date_from,date_to),age__range=(age_from,age_to),gender__iexact='male')
else:
patient = PatientInfo.objects.filter(dateedit__range=(date_from,date_to),age__range=(age_from,age_to))
if flag == 2:
patient = PatientInfo.objects.filter(dateedit__range=(date_from,date_to),age__range=(age_from,age_to),gender__iexact='female')
else:
patient = PatientInfo.objects.filter(dateedit__range=(date_from,date_to),age__range=(age_from,age_to))
if flag == 3:
patient = PatientInfo.objects.filter(dateedit__range=(date_from,date_to),age__range=(age_from,age_to),gender__iexact='male')