我有一个应用程序,用户应该能够构建复杂的搜索查询。问题是,当我使用Q
对象构建查询时,我无法找到使参数动态化的方法。
Users.objects.filter(age__gte=18)
鉴于上述问题,我想让age
和gte
动态化。我从HTML表单中以str
格式获取它们,但是如何将它们转换为真实参数?我想要的是:
Users.objects.filter('{}__{}=18'.format(field, operator))
答案 0 :(得分:2)
您忘记了python可以将list
*args
和dict
**kwargs
参数作为参数。所以对于你的情况:
Users.objects.filter(**{'{}__{}'.format(field, operator): 18})