上一步,我从AbstractUser扩展了AdminUser:
class AdminUser(AbstractUser):
username = models.CharField(max_length=16)
password = models.CharField(max_length=40) # sha1加密
real_name = models.CharField(max_length=12, null=True, blank=True)
phone = models.CharField(max_length=11) # 手机号码
is_staff = models.BooleanField(default=True)
is_superuser = models.BooleanField(default=False)
您看到我使用is_staff
和is_superuser
来定义是否为管理员用户。
但是,今天当我读到Django document时: 有UserAdmin:
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
我是否从AbstractUser中继承了子类?我是否应该继承UserAdmin?
答案 0 :(得分:0)
如果你想自定义管理员用户模型,你应该创建这个单独的UserAdmin
类,但如果你想将你拥有的所有用户子类化,那么这不是最好的主意,因为并非所有用户都表现得像管理员。所以,AbstractUser
看起来不错。
仅供参考,Django中没有BaseUserAdmin
,as
语法表示此名称
应该是此文件中alias
类的UserAdmin
。