我正在尝试使用过滤查询集
info=members.filter(name__contains=search_string)
我的问题是我不知道用户想提前搜索哪个字段,因此我需要用一个变量替换“名称”,如下所示
variable_column = 'name' search_type = 'contains' filter = variable_column + '__' + search_type info=members.filter(filter=search_string)
我怎么做?
差不多了..
members.filter(**{'string__contains': 'search_string'})
要了解它在做什么,请在Google周围搜索 :)了解Python中的kwargs
** 将字典键/值对扩展为关键字参数-值对。
**
使你的示例适应解决方案:
variable_column = 'name' search_type = 'contains' filter = variable_column + '__' + search_type info=members.filter(**{ filter: search_string })