Постепенная фильтрация Django

 
0
 
Python
ava
barcelona | 24.10.2016, 11:50
Здравствуйте!

Есть форма поиска, с неё могут получаться 5 параметров: q1, q2, q3, q4 и q5. 5 параметров = 5 полей модели, по которым может проходить фильтрация. Можно ли в django как-то написать постепенную фильтрацию, т.е. применение фильтров один за другим? Такой вариант



if q1 and q2:
  items = Object.objects.filter(field1=q1, filed2=q2)
elif q1:
  items = Object.objects.filter(field1=q1)
elif q2:
  items = Object.objects.filter(field2=q2)
...


не подходит, потому что параметров может быть много, неудобно их все так перебирать. Хотелось бы что-то вроде (передаю идею):



o = Object.objects

if q1:
  o = o.filter(field1=q1)

if q2:
  o = o.filter(field2=q2)

items = o.execute()


Можно ли реализовать что-то подобное?
Kommentare (0)

Kommentare werden nicht hinzugefügt

Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden