Джанго 1.10.1СЦЕПЛЕНИЕ фильтры
На странице я приготовил много контроля. Некоторые из них организованы как динамически изменяющиеся формы. Поэтому я даже не знаю, сколько из них присутствует.
Мне нужны цепные фильтры с И, ИЛИ ИЛИ НЕ логическими операциями.
Например, мне нужно что-то вроде этого:
Entry.objects.filter(headline__startswith='What').exclude(pub_date__gte=datetime.date.today()).filter(pub_date__gte=datetime(2005, 1, 30)).filter(Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
еще раз количество фильтров меняется.
Я планировал ac как это: loop through request.POST и в зависимости от дюжины условий подготовьте строку. Та же строка:
"Entry.objects.filter(headline__startswith='What').exclude(pub_date__gte=datetime.date.today()).filter(pub_date__gte=datetime(2005, 1, 30)).filter(Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))"
Таким образом, строка является правильным. Но я не могу заставить его работать с exec(). Я спросил здесь: почему он не работает. И ответ был: он не будет работать, запустите код Python напрямую.
я могу построить что-то подобное:
entries = Entry.objects.filter(**kwargs)
Но это только один фильтр. Я не могу представить, как цепочки таких фильтров.
Не могли бы вы помочь мне здесь &
Хотелось бы узнать, как выглядит ваш запрос «POST». – demux