最近我要开发一个带有电子商务模块的CRM系统。由于客户只登录电子商务网站(使用电子邮件登录),员工只登录CRM,
我想分开这两种身份验证模型。有两组settings.py是一个好主意,一组使用员工AUTH_USER_MODEL
,另一组使用客户AUTH_USER_MODEL
? (也许单独urls.py)
我将在两个子路径或两个域下运行两个不同的app设置,这会导致任何问题吗? (就像并发问题一样?)
答案 0 :(得分:1)
你不需要为此目的设置两个AUTH_USER_MODEL = 'myapp.MyUser'
或两个设置,这可能会有效,但这不是这个逻辑所属的级别。 (设置已处于部署级别,例如在相同的代码库和相同的数据库等上运行多个网站等等。)
我建议的是简单的事情:
# settings.py
AUTH_USER_MODEL = 'yourapp.CustomUser'
# yourapp's models.lpy
from django.contrib.auth.models import User
class CustomUser(models.Model):
user = models.OneToOneField(User, related_name="customuser")
crm_staff = models.Boolean(default=False)
# ...
并且取决于crm_staff
,用户是crm-user或者只是外部用户。我将crm_staff
的默认值设置为False
,因此每次有新用户进入时都必须明确指定,但只有当用户是crm人员时,才需要将字段设置为True
尽量保持简单,你要感谢你自己以后......