14

我正在尝试更改 django 包(rest 框架)中字段的管理员中的字段顺序

我定义了一个新的管理员管理器,但出现“模型已注册”错误。当然必须有办法做到这一点?

from rest_framework.authtoken.models import Token
class AuthTokenAdmin(admin.ModelAdmin):
    list_display = ('user', 'key',)


admin.site.register(Token, AuthTokenAdmin)
4

1 回答 1

21

发生此错误的原因是,该类Token已经注册到这样的管理类

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)

要更改这一点,您首先需要unregister针对给定类注册旧管理员,然后注册新管理员。

尝试这个:

admin.site.unregister(Token) #First unregister the old class
admin.site.register(Token, AuthTokenAdmin) #Then register the new class
于 2014-09-21T21:28:37.717 回答