How to register a model that is already registered in admin?

I am trying to reorder fields in admin fields in django package (rest framework)

I define a new administrator, but I get an "Already registered model" error. Is there really a way to do this?

from rest_framework.authtoken.models import Token class AuthTokenAdmin(admin.ModelAdmin): list_display = ('user', 'key',) admin.site.register(Token, AuthTokenAdmin) 
+5
source share
2 answers

The reason for this error is that the Token class has already been registered in the admin class as follows:

 from django.contrib import admin from rest_framework.authtoken.models import Token class TokenAdmin(admin.ModelAdmin): list_display = ('key', 'user', 'created') fields = ('user',) ordering = ('-created',) admin.site.register(Token, TokenAdmin) 

To change this, you first need to unregister old administrator registration for this class, and then register a new one.

Try the following:

 admin.site.unregister(Token) #First unregister the old class admin.site.register(Token, AuthTokenAdmin) #Then register the new class 
+8
source
 if admin.site.is_registered(Model): # check if this model registered admin.site.unregister(Model) # unregister it admin.site.register(NewModelClass) # register your custom Model 
0
source

Source: https://habr.com/ru/post/1203096/


All Articles