我正在使用django的身份验证来登录用户。但我有两个模型,其中authenticate
方法将检查用户凭据。一个是ApplicationUser
,另一个是SystemUser
我已经制作了其中一个,它的效果很好:
models.py
class UserManager(BaseUserManager):
def create_user(self, email, password=None):
"""
Creates and saves a User with the given username and password.
"""
....
return user
def create_superuser(self, email, password):
...
return user
class ApplicationUser(AbstractBaseUser):
application_user_id = models.AutoField(primary_key=True)
....
....
views.py
def login_view(request):
...
user = authenticate(username = email, password = password)
if user is not None:
...
login(request, user)
....
....
我遇到了这个问题而得到了here,但我无法解决这个问题。
我的问题:
如何设置两个AUTH_USER_MODEL
,我已经设置了
ApplicationUser
为AUTH_USER_MODEL
。
即使我以某种方式指明
这两个AUTH_USER_MODEL
,authenticate
或login
如何运作
知道在哪里(ApplicationUser
或SystemUser
)匹配凭证并为用户创建会话
相应
答案 0 :(得分:0)
在settings.py中设置
CDbl
然后让django做其余的事情。
如果您想要其他用户模型,则需要从所选的AUTH_USER_MODEL = 'yourapp.YouCustomUserModel'