在我的Django Rest Framework api中,我没有与api交互的人工用户,但是我想在这些机器用户上使用User身份验证。但是,AbstractBaseUser仍然使我无法使用所需的电子邮件和用户名(这对我的计算机用户而言没有意义)。另外,我希望拥有人工管理员(超级用户),但是通过使用AbstractBaseUser进行自定义,超级用户也会更改。我可以将要进行身份验证的用户与要在管理员中使用的超级用户分开吗?
我已经尝试在机器用户模型中使用与用户的OneToOne链接作为配置文件,但这仍然意味着我需要遵循django的用户。另外,我尝试使用AbstractBaseUser,但这会造成上述问题。
应该是我的用户模型的模型,因为这会创建另一个资源(收据)
class ReceiptMachine(models.Model):
machine_user = models.OneToOneField('ReceiptUser', on_delete=models.CASCADE)
machine_id = models.UUIDField(verbose_name='id of receipt machine', default=uuid.uuid4, editable=False, unique=True)
store = models.ForeignKey('Store', on_delete=models.CASCADE, to_field='store_id')
class ReceiptUser(AbstractBaseUser):
?
所以我想将此模型用作通过Django用户的身份验证,但我也想保留普通的管理员超级用户。