为什么 Django admin short_description 功能不起作用?

why Django admin short_description function not working?

我正在尝试在我的 Django 管理面板中进行一些更改,例如想要显示“标题”而不是“blog_tile”,但我不明白为什么更改没有反映出来。

class BlogAdmin(admin.ModelAdmin):
    readonly_fields = ['blog_publish_time', 'blog_update_time']
    list_display = ['blog_title', 'blog_status',
                    'blog_publish_time', 'blog_update_time']

    def rename_blog_title(self, obj):
        return obj.blog_title[:10]
    rename_blog_title.short_description = "title"


admin.site.register(Blog, BlogAdmin)

我哪里做错了?

您在 list_display 中使用的是 blog_title,而不是 rename_blog_title。因此,您应该参考方法,而不是 Blog 模型的字段:

class BlogAdmin(admin.ModelAdmin):
    readonly_fields = ['blog_publish_time', 'blog_update_time']
    list_display = [<strong>'rename_blog_title'</strong>, 'blog_status', 'blog_publish_time', 'blog_update_time']

    def rename_blog_title(self, obj):
        return obj.blog_title[:10]
    rename_blog_title.short_description = 'title'

admin.site.register(Blog, BlogAdmin)