xadmin choice filter 多选
2021/6/17 10:26:12
本文主要是介绍xadmin choice filter 多选,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 在xadmin/filters.py中添加
MultiSelectFieldListChoiceFilter
@manager.register class MultiSelectFieldListChoiceFilter(MultiSelectFieldListFilter): def choices(self): self.lookup_in_val = (type(self.lookup_in_val) in (tuple, list)) and self.lookup_in_val or list( self.lookup_in_val) yield { 'selected': len(self.lookup_in_val) == 0, 'query_string': self.query_string({}, [self.lookup_in_name]), 'display': _('All'), } # for val in self.lookup_choices: for lookup, val in self.field.flatchoices: yield { 'selected': smart_text(lookup) in self.lookup_in_val, 'query_string': self.query_string({self.lookup_in_name: ",".join([lookup] + self.lookup_in_val), }), 'remove_query_string': self.query_string( {self.lookup_in_name: ",".join([v for v in self.lookup_in_val if v != val]), }), 'display': val, }
- 在xadmin.py中
def get_filter_fields(cls): return [(i.attname.replace('_id', ''), MultiSelectFieldListChoiceFilter) if i.choices else i.attname.replace('_id', '') for i in cls._meta.fields if not i.attname.startswith('_')] class TestAdmin: list_filter = get_filter_fields(Test) xadmin.site.register(Test, TestAdmin)
这篇关于xadmin choice filter 多选的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享
- 2024-12-24uniapp 连接之后会被立马断开是什么原因?-icode9专业技术文章分享
- 2024-12-24cdn 路径可以指定规则映射吗?-icode9专业技术文章分享
- 2024-12-24CAP:Serverless?+AI?让应用开发更简单
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享