Используйте параметры GET в качестве фильтров запросов - PullRequest
0 голосов
/ 27 августа 2011

У меня есть URL с такими параметрами, как:

field1__lt=7&field2__contains=bar

Я понимаю, как получить эти значения из dict cleaned_data, но как я могу поместить их в выражения filter ()? Фильтру не нравится, когда ключ является строкой.

Это только для доверенных пользователей, поэтому проблем безопасности нет.

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Используйте распаковку. Если в переменной lookups есть диктовка типа {'field1__lt':7, 'field2__contains':'bar'}, то вы можете написать filter(**lookups).

0 голосов
/ 27 августа 2011

Я думаю, вам нужно передать несколько аргументов в методе .filter? Тогда вам нужно будет использовать объекты Q. Итак, что-то вроде этого будет работать правильно.

MyModel.objects.filter(Q(field1__lt=7)&Q(field2__contains=bar))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...