【发布时间】:2016-12-19 20:09:50
【问题描述】:
我想在 django 应用程序中创建多种类型的用户,例如一种用于公司,一种用于员工。
我的想法是公司将为自己注册,然后公司管理员将通过他/她的仪表板创建员工。
创建后员工将直接登录。
因此(如果可能的话)公司和员工只能使用一个登录表单。
class Company(models.Model):
name = models.CharField(max_length=150)
logo = models.CharField(max_length=1000, blank=True)
admin_name = models.CharField(max_length=200)
admin_email = models.CharField(max_length=200) # can be used as 'username'
website = models.CharField(max_length=200, blank=True)
class CustomUserManager(auth_models.BaseUserManager):
def create_user(self, email, first_name, emp_id, password):
#
def create_superuser(self, email, first_name, emp_id, password):
#
class Users(auth_models.AbstractBaseUser, auth_models.PermissionsMixin):
company = models.ForeignKey(Company, on_delete=models.CASCADE, null=True)
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
profile_pic = models.CharField(max_length=2000, blank=True)
email = models.EmailField(unique=True, null=True)
emp_id = models.CharField(max_length=50)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['first_name', 'emp_id', ]
objects = CustomUserManager()
我几乎到处搜索,但找不到任何东西。如果有任何方法可以解决这个问题,请告诉我,否则如果你知道任何技巧来完成这件事,那么它也是受欢迎的。 提前致谢。
【问题讨论】:
-
这个功能包含在 Django 中:docs.djangoproject.com/en/1.10/topics/auth/default/#groups
标签: python django multiple-users django-custom-user