Django具有可变列的查询filter

我正在尝试使用筛选查询集

info=members.filter(name__contains=search_string) 

我有的问题是我不知道用户想提前search哪个字段,所以我需要用一个variablesreplace'name'

 variable_column = 'name' search_type = 'contains' filter = variable_column + '__' + search_type info=members.filter(filter=search_string) 

我怎么做?

丰富

差不多了..

members.filter(**{'string__contains': 'search_string'})

要了解它在做什么,谷歌周围:)在Python中了解kwargs

**将字典键/值对扩展到关键字参数 – 值对。

为了使你的例子适应这个解决scheme:

 variable_column = 'name' search_type = 'contains' filter = variable_column + '__' + search_type info=members.filter(**{ filter: search_string })