我正在尝试使用过滤查询集
info=members.filter(name__contains=search_string)
我遇到的问题是我不知道用户想要提前搜索哪个字段,所以我需要用变量替换“名称”,如下所示
variable_column = 'name'
search_type = 'contains'
filter = variable_column + '__' + search_type
info=members.filter(filter=search_string)
我怎么做?
Rich
差不多了..
members.filter(**{'string__contains': 'search_string'})
要了解它在做什么,请谷歌一下:)理解 Python 中的 kwargs https://stackoverflow.com/questions/1769403/understanding-kwargs-in-python
**
将字典键/值对扩展为关键字参数-值对。
使您的示例适应解决方案:
variable_column = 'name'
search_type = 'contains'
filter = variable_column + '__' + search_type
info=members.filter(**{ filter: search_string })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)