Почему не работает функция short_description в админке Django?

Я пытаюсь внести некоторые изменения в мою панель администратора django, например, хочу показать "title" вместо "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)

где я совершаю ошибку?

Вы используете blog_title, а не rename_blog_title в вашей list_display. Таким образом, вы должны ссылаться на метод, а не на поле вашей модели Blog:

class BlogAdmin(admin.ModelAdmin):
    readonly_fields = ['blog_publish_time', 'blog_update_time']
    list_display = ['rename_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)
Вернуться на верх