我正在创建一个 SAAS 作为一个项目,并且似乎无法将我的恐龙大脑包裹在这个身份验证系统周围。在我意识到您可以添加到正常的身份验证系统之前,我开始推出自己的系统。这是完全错误的吗?我是否应该以某种方式扩展 User 模型但仍包含我自己的所有属性(用户名、密码等)?
from django.db import models
from django.contrib.auth.models import User
from annoying.fields import AutoOneToOneField
from myproject.core.modelfields import LowerAlphanumericField
from myproject.apps.account.models import Account
class Administrator(models.Model):
"""
Administrator for an Account (application holds multiple accounts as it is a SAAS).
"""
account = models.ForeignKey(Account)
user = AutoOneToOneField(User, primary_key=True)
name = models.CharField(max_length=255)
email = models.EmailField()
username = LowerAlphanumericField(max_length=30)
password = models.CharField(max_length=255)
如果我访问http://127.0.0.1:8080/admin/auth/user/3/我会收到一个错误,但是我创建的第三个管理员对象的主键是 3 (假设是主键相关的用户对象。我错过了什么。另外,我是否需要创建一个密码字段,以及这里的所有垃圾,或者我应该?