首页 文章

Django REST框架/ Django - 额外的用户模型

提问于
浏览
0

在我的项目中,我有两种不同类型的用户:

  • 常规Django用户

  • worker - 通过应用程序API发送消息并使用令牌进行身份验证的用户(基本的Django休息框架令牌认证)

问题是Token对象与django User对象连接 . 什么是最好的解决方案 - 为我的员工创建新的用户模型?我不想扩展用户模型,因为我想在我的管理面板中拥有“用户”和“工作人员” .

class Worker(models.Model):
    ip = models.GenericIPAddressField()
    created_date = models.DateTimeField()
    last_update = models.DateTimeField()

    #  but it's not the way I wish it was done:
    #  user = models.ForeignKey(User)

一般情况下,如果部分用户使用登录名/密码正常登录并且某些用户(工作人员)使用令牌作为身份验证凭据,您将如何解决问题?

1 回答

  • 0

    假设您希望拥有相同的字段,但希望表空间是唯一的,您可以这样做:

    class Worker(models.AbstractBaseUser):
        ip = models.GenericIPAddressField()
        created_date = models.DateTimeField()
        last_update = models.DateTimeField()
    

    否则,如果您希望工作者继承,您可以通过直接继承您的auth用户类来执行本质上是连接的操作:

    class Worker(AUTH_USER_MODEL):
        ip = models.GenericIPAddressField()
        created_date = models.DateTimeField()
        last_update = models.DateTimeField()
    

相关问题