2015-11-13 50 views
1

关于同一主题的几个不同的问题:是否可以定义CustomUser并仍然使用标准管理员屏幕?

我已经定义了一个新的CustomUser类以下,它只是默认UserClass的扩展。

class customUser(AbstractBaseUser): 
    email = models.EmailField(verbose_name='email address', max_length=255, unique=True) 
    first_name = models.CharField(max_length=50, null=True) 
    middle_name = models.CharField(max_length=50, null=True) 
    last_name = models.CharField(max_length=50, null=True) 
    date_of_birth = models.DateField(null=True) 
    Primary_address = models.CharField(max_length=50, null=True) 
    Primary_address_zipcode = models.CharField(max_length=5, null=True) 
    is_active = models.BooleanField(default=False) 
    is_admin = models.BooleanField(default=False) 

问题1:是否可以继承默认UserClass的属性(如FIRST_NAME和姓氏,LAST_LOGIN,first_created),而不必在我的新CustomUser类重新定义?

问题2:请问可以使用现有的用户默认页面,只是修改它稍微适合我CustomUser?我问,因为默认的管理页面有我想要使用的良好的组控制,las​​t_login和first_created字段,我不想“重现”相同的页面。将CustomUser中定义的额外字段添加到默认管理页面的人员信息部分将会很不错。

Default Admin User page

回答

0

是的。您将要使用AbstractUser而不是AbstractBaseUser。这里提供

详情:

https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#extending-django-s-default-user

它在数据库中(不auth_user)创建一个不同的表,但还是完全延伸到Django管理相当漂亮。

+0

我想使用电子邮件作为唯一标识符,而不是用户名(其实我想禁用的用户名)。我可以通过扩展AbstractUser来做到这一点吗? –

+0

你可能应该修改你的问题,然后说 - 否则,AbstractUser将是正确的解决方案。 – FlipperPA

+0

所以我不能扩展用户和禁用用户名与AbstractUser? –

相关问题