Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中的用户类型模型_Python_Django - Fatal编程技术网

Python Django中的用户类型模型

Python Django中的用户类型模型,python,django,Python,Django,我对如何插入用户类型的where表感到困惑,我只是Django的初学者,但肯定我一直在阅读Django的文档,但我不理解这个,这种情况是,当我注册新用户时,必须选择该用户应指定的用户类型(管理员或其他)。但问题是,我认为authuser没有关系表,即使我创建了另一个表。与此问题稍有类似,请参阅参考资料。目前,我一直在考虑在authuser表中创建自定义usertype字段,但在迁移时,它没有显示更新的字段,而且与此问题类似,一些人或用户没有在authuser表中触摸或添加任何字段,是否可以在au

我对如何插入用户类型的where表感到困惑,我只是Django的初学者,但肯定我一直在阅读Django的文档,但我不理解这个,这种情况是,当我注册新用户时,必须选择该用户应指定的用户类型(管理员或其他)。但问题是,我认为authuser没有关系表,即使我创建了另一个表。与此问题稍有类似,请参阅参考资料。目前,我一直在考虑在authuser表中创建自定义usertype字段,但在迁移时,它没有显示更新的字段,而且与此问题类似,一些人或用户没有在authuser表中触摸或添加任何字段,是否可以在auth_权限或其他默认表中插入usertype?我真的很困惑在哪里可以添加我的usertype,它与authuser有关系。关于这件事有什么知道或解释的吗,谢谢

模型


有多种方法可以做到这一点。我推荐的方法是扩展现有的用户模型

from django.contrib.auth.models import User

class UserType(models.Model):
    user_type = models.CharField(max_length=264)
    description = models.CharField(max_length=264)
    status = models.CharField(max_length=264)

class AppUser(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    type = models.ForeignKey(UserType, on_delete=models.CASCADE) 
这将创建两个额外的表

  • 用户类型,其中您将有可能要填充的用户类型,并且
  • app_用户将存储在何处django用户记录上的引用及其类型

  • 然而,我认为你这样做应该有一个很好的理由。Django允许您将用户分组到用户组中,用户组应该是您想要的。

    有多种方法可以做到这一点。我推荐的方法是扩展现有的用户模型

    from django.contrib.auth.models import User
    
    class UserType(models.Model):
        user_type = models.CharField(max_length=264)
        description = models.CharField(max_length=264)
        status = models.CharField(max_length=264)
    
    class AppUser(models.Model):
        user = models.OneToOneField(User, on_delete=models.CASCADE)
        type = models.ForeignKey(UserType, on_delete=models.CASCADE) 
    
    这将创建两个额外的表

  • 用户类型,其中您将有可能要填充的用户类型,并且
  • app_用户将存储在何处django用户记录上的引用及其类型

  • 然而,我认为你这样做应该有一个很好的理由。Django允许您将用户分组到用户组中,用户组应该是您想要的。

    感谢您的回复。您可以解释更多关于AppUser类的信息吗?那么我需要在我的模型中添加它吗?您在AppUser中输入的用户表示它已连接到authuser?relational?还有,是的,我在用户角色权限中使用了用户组,但如果在静态用户类型中使用,则会发生冲突,因为我在组中的目的是为权限使用多个用户类型。我想要的只是当用户登录时指定或弹出他/她是什么用户类型。谢谢你的回复。你能解释更多关于AppUser类的信息吗?那么我需要在我的模型中添加它吗?您在AppUser中输入的用户表示它已连接到authuser?relational?还有,是的,我在用户角色权限中使用了用户组,但如果在静态用户类型中使用,则会发生冲突,因为我在组中的目的是为权限使用多个用户类型。我想要的只是当用户登录时指定或弹出他/她是什么用户类型。