I wanted to change the list of items in the Post model on the Django Admin page. I created a class in admin.py and tried to register the model, but I couldn't register. The cause was that registration was duplicated because the Post model had already been registered with Markdownx.
I want to use Markdownx, so I checked for other methods. There was a way to inherit and override the model by "proxy model".
There were other methods such as creating a custom template, but it was good that using proxy model was easy way.
Reference sites
Reference codes
model.py
# Admin画面の項目並びで利用 class PostProxy(Post): class Meta: proxy = True
admin.py
""" class PostAdmin(admin.ModelAdmin): list_display = ("title", "title_en", "category", "published_date") """ admin.site.register(Category) admin.site.register(Tag) """ admin.site.register(Post, PostAdmin) """ admin.site.register(Post, MarkdownxModelAdmin) admin.site.register(Comment) @admin.register(PostProxy) class PostProxyAdmin(admin.ModelAdmin): list_display = ("title", "title_en", "category", "published_date")
Reference image