Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » форма поиска, objects.filter, отсутствие\присутствие параметров [RSS Feed]

#1 Март 4, 2009 05:21:21

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

форма поиска, objects.filter, отсутствие\присутствие параметров

Есть модель скажем с 8-ю полями.
Для нее есть форма поиска по этим 8-и парметрами.
Параметр может быть задан или нет.

Для выборки поиска будет примерно такой код:

model.objects.filter(p1 = req.POST["p1"], p2 = req.POST["p2"], ..,,,p8 = req.POST["p8"])
так как некторых параметров может не быть (юзер не ввел данные) вопрос как написать
код для общего случая..
раньше на php я просто формировал запрос прилепляя нужные куски к нему, а если парметра нету просто ничего не добавлял, тут же уже такой подход не проходит так как нужно передавать параметры в ф-ю, возможно можно сформировать строчку кода и выполнить ее ..но это как то сложно, все варианты отсутствия присутсвия переменных рассматривать тоже сложно их тут 256, подскажите кто как такое делает?



Офлайн

#2 Март 4, 2009 07:26:15

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

форма поиска, objects.filter, отсутствие\присутствие параметров

Evg
раньше на php я просто формировал запрос прилепляя нужные куски к нему, а если парметра нету просто ничего не добавлял,
Так тут можете тоже самое делать
qs = models.objects.filter(
**dict([("p%s" % i, request.POST["p%s" % i])\
for i in range(1, 9) if "p%s" i in request.POST])
)



Офлайн

  • Начало
  • » Django
  • » форма поиска, objects.filter, отсутствие\присутствие параметров[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version