0
我不喜欢将用户名强制转换为单独的first_name和last_name字段,因此我用profile.fullname替换了user.first_name和user.last_name。在Django的管理员中隐藏first_name和last_name
它没有意义,显示在管理员的所有三个名字,所以我想这:
admin.site.unregister(User)
class ProfileInline(admin.StackedInline):
model = Profile
class ProfileAdmin(UserAdmin):
inlines = [ProfileInline]
exclude = ('first_name', 'last_name')
admin.site.register(User, ProfileAdmin)
这并不工作,我不知道为什么:
陷入KeyError异常而渲染:“关键‘FIRST_NAME’不应在形式上找到”
Django的UserAdmin类使用2种不同的形式,一种用于'添加'视图,另一种用于'更改'视图。它们中的每一个都定义了不同的字段。这个错误发生在哪里? – rantanplan
@rantanplan有一个好处,当django使用仅包含“用户名”和“密码”的表单时,这可能出现在“添加”页面上。我不记得这个ModelAdmin如何动态地切换表单,但这是我的第一个猜测。我会去查找UserAdmin找到合适的方法来覆盖两种形式之一。 –