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

问题描述:

我有一个应用程序,用户应该能够构建复杂的搜索查询。问题是,当我用Q对象构建查询时,我无法找到一种方法来创建参数动态。MongoEngine查询中的动态字段和运算符

Users.objects.filter(age__gte=18) 

鉴于上面的查询,我会想使agegte动态。我从HTML表单中以str格式获得它们,但是如何将它们转换为实参?我想沿着这个线的东西:

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

你忘了Python可以作为参数list*args和参数dict**kwargs。所以对你的情况:

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