MongoEngine查询中的动态字段和运算符

时间:2013-12-03 18:50:26

标签: flask mongoengine flask-wtforms flask-mongoengine

我有一个应用程序,用户应该能够构建复杂的搜索查询。问题是,当我使用Q对象构建查询时,我无法找到使参数动态化的方法。

Users.objects.filter(age__gte=18)

鉴于上述问题,我想让agegte动态化。我从HTML表单中以str格式获取它们,但是如何将它们转换为真实参数?我想要的是:

Users.objects.filter('{}__{}=18'.format(field, operator))

1 个答案:

答案 0 :(得分:2)

您忘记了python可以将list *argsdict **kwargs参数作为参数。所以对于你的情况:

Users.objects.filter(**{'{}__{}'.format(field, operator): 18})