Динамическое поле и оператор в запросе MongoEngine
У меня есть приложение, в котором пользователи должны иметь возможность создавать сложные поисковые запросы. Проблема в том, что когда я создаю запрос с Q
Я не могу найти способ сделать параметры динамическими.
Users.objects.filter(age__gte=18)
Учитывая запрос выше, я хотел бы сделать age
а также gte
динамичный. Я получаю их в str
формат из формы HTML, но как я могу перевести их в реальный параметр? Я хочу что-то вроде этого:
Users.objects.filter('{}__{}=18'.format(field, operator))
1 ответ
Вы забыли, что питон может принимать в качестве параметров list
*args
а также dict
**kwargs
параметров. Итак, для вашего случая:
Users.objects.filter(**{'{}__{}'.format(field, operator): 18})