我想通过继承AbstractUser来创建自定义用户:
https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#substituting-a-custom-user-model
但是,我有一个问题,当我使用权限时,有一个IsAdminUser
权限。
如果我有两个自定义用户模型,例如用户模型和AminUser模型(所有这些模型都继承自AbstractUser形式)。如何在自定义用户模型中区分用户是AminUser还是普通用户?
答案 0 :(得分:0)
在您的用户模型中,将一个布尔字段定义为isAdminUser。现在将普通用户的此布尔字段设置为false,如果用户是管理员,则设置为True。根据isAdminUser的值,您可以执行用户特定操作或管理员特定操作。例如:
class ClientUser(AbstractBaseUser):
username = models.CharField(max_length=20,unique=True)
name = models.CharField(max_length=20)
email = models.EmailField(max_length=254,null=True,blank=True)
company = models.ManyToManyField(ClientCompany,null=True,blank=True)
date_joined = models.DateTimeField(('date joined'), default=timezone.now)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)