我想在django應用程序中創建多種類型的用戶,例如一個用於公司,一個用於員工。如何在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中:https://docs.djangoproject.com/en/1.10/topics/auth/default/#groups – IanAuld