Django admin:在list_filter()的列表视图中使用复选框

eme*_*epe 15 python django django-admin

我有一个Transaction带有ForeignKey 的模型到另一个模型(TransactionState)的state字段.所以admin.py我有:

class TransactionAdmin(admin.ModelAdmin):
    ...
    list_filter = ('state')
    ...
Run Code Online (Sandbox Code Playgroud)

TransactionState我有"付费","未付","已发送","取消"等等记录,它工作正常,但我希望能够使用复选框进行过滤,以允许多次选择,如"付费"或"已交付".这是可能的?

Dav*_*cos 6

适用于所有型号

您可以轻松覆盖django管理模板以自定义管理UI.

要编辑侧边栏过滤器,只需添加一个templates/admin/filter.html文件,然后使用单选按钮编写自定义HTML.

请注意,这将更改所有型号的侧边栏过滤器.

对于单一型号

如果要更改单个模型的过滤器,可以为以下项指定模板ListFilter:

class FilterWithCustomTemplate(admin.SimpleListFilter):
    template = "custom_template.html"
Run Code Online (Sandbox Code Playgroud)

作为参考示例,check是filter.html默认模板.