Django Admin:如何按自定义列表显示字段进行过滤?

时间:2020-06-07 21:27:29

标签: django django-models django-admin django-admin-filters

在admin类中,我定义了如下的自定义列表显示

list_display = ('custom_display_method_name',)
def custom_display_method_name(self, instance):
    #perform custom operation for list display which uses property of the model

我该如何编写一个过滤器,以允许通过自定义显示进行过滤,或者通过模型的属性进行过滤?我确实写过一个自定义过滤器,但是归结为queryset。有没有一种方法可以简单地按我编写的自定义显示进行过滤?

1 个答案:

答案 0 :(得分:0)

不幸的是,由于列表过滤器的工作方式,它必须是模型上的字段,并且不能是添加到ModelAdmin上的read_only字段或Model上的属性。

但是,您可以创建一个自定义过滤器,该过滤器可以根据您想要的任何内容进行过滤。这可以通过特殊的类(通常继承自SimpleListFilter)来实现。有很多地方为如何创建这些类提供了很好的指南,这将比我在这里可以实现的要好:

相关问题