Найти - Пользователи
Полная версия: форма поиска, objects.filter, отсутствие\присутствие параметров
Начало » Django » форма поиска, objects.filter, отсутствие\присутствие параметров
1
Evg
Есть модель скажем с 8-ю полями.
Для нее есть форма поиска по этим 8-и парметрами.
Параметр может быть задан или нет.

Для выборки поиска будет примерно такой код:
model.objects.filter(p1 = req.POST["p1"], p2 = req.POST["p2"], ..,,,p8 = req.POST["p8"])
так как некторых параметров может не быть (юзер не ввел данные) вопрос как написать
код для общего случая..
раньше на php я просто формировал запрос прилепляя нужные куски к нему, а если парметра нету просто ничего не добавлял, тут же уже такой подход не проходит так как нужно передавать параметры в ф-ю, возможно можно сформировать строчку кода и выполнить ее ..но это как то сложно, все варианты отсутствия присутсвия переменных рассматривать тоже сложно их тут 256, подскажите кто как такое делает?
Александр Кошелев
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])
)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB