我的网址包含以下参数:
field1__lt=7&field2__contains=bar
我理解如何从cleaning_data dict中获取这些值,但是如何将它们放入filter()语句中?过滤器似乎不喜欢键是一个字符串。
这仅适用于受信任的用户,因此不存在任何安全问题。
答案 0 :(得分:1)
使用dict解压缩。如果您在变量{'field1__lt':7, 'field2__contains':'bar'}
中有lookups
这样的词典,那么您可以写filter(**lookups)
。
答案 1 :(得分:0)
我认为你需要在.filter方法中传递一些参数?然后你需要使用Q对象。所以,这样的事情会正常工作。
MyModel.objects.filter(Q(field1__lt=7)&Q(field2__contains=bar))