gpt4 book ai didi

django - 如何修改 Django 管理过滤器的标题

转载 作者:行者123 更新时间:2023-11-28 19:35:56 25 4
gpt4 key购买 nike

我有一个过滤器(一个默认的而不是自定义的)

是否可以只更改过滤器的标题,而无需编写全新的自定义过滤器?

因为我需要从过滤器中唯一定制的是它的标题。应该有一种方法可以在不重写整个过滤器和查找的情况下做到这一点。

最佳答案

需要一个自定义过滤器类,但您实际上可以实现一个自定义过滤器类工厂,您可以在任何地方使用它,您只需要一个带有自定义标题的过滤器:

from django.contrib import admin

def custom_titled_filter(title):
class Wrapper(admin.FieldListFilter):
def __new__(cls, *args, **kwargs):
instance = admin.FieldListFilter.create(*args, **kwargs)
instance.title = title
return instance
return Wrapper

然后在你的ModelAdmin类:

list_filter = (
('fieldname', custom_titled_filter('My Custom Title')),
'plain_field',
...
)

(请注意,自定义过滤器不仅仅是一个字段名称,而是一个 (field_name, CustomFilterClass) 元组,您只是从 CustomFilterClass 工厂获取 custom_titled_filter())

关于django - 如何修改 Django 管理过滤器的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com