如何在Django中正确覆盖User admin [英] How to properly override User admin in Django

查看:207
本文介绍了如何在Django中正确覆盖User admin的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想添加添加内联模型,并从Django管理中的用户更改表单中排除某些字段。

I want to add add inline model and exclude some fields from User change form in Django admin.

我试图覆盖Django内置的 UserAdmin 来保留用户更改设计:

I'm trying to override Django's built-in UserAdmin to preserve User change design:

class UserCustomAdmin(UserAdmin):
    # list_display = ['id', 'username','email', 'last_login']
    exclude = ['groups','user_permissions']
    inlines = [UserProfileInline]

即使 exclude = ['groups'] 也会引发错误:


u在用户窗体中找不到关键的组。选择包括:date_joined,
电子邮件,first_name,is_active,is_staff,is_superuser,last_login,
last_name,密码,用户名。

u"Key 'groups' not found in 'UserForm'. Choices are: date_joined, email, first_name, is_active, is_staff, is_superuser, last_login, last_name, password, username."

如何使其工作?

推荐答案

字段显示在 UserAdmin.fieldsets
该错误出现,我认为是因为您从表单中排除了该字段,但后来在字段集中定义了该表单,并且表单失败。

groups field appears in the UserAdmin.fieldsets also. The error appears, I think, because you exclude the field from form, but later is defined in the fieldsets and form fails.

尝试覆盖<因此,在您的 UserCustomAdmin 中没有 groups 字段的code> fieldsets 。

Try to overwrite the fieldsets accordingly, in your UserCustomAdmin with no groups field.

这篇关于如何在Django中正确覆盖User admin的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆