【问题标题】:Multiple User types with Django 1.5, custom fields and shared auth具有 Django 1.5、自定义字段和共享身份验证的多种用户类型
【发布时间】:2013-10-12 19:02:43
【问题描述】:

我正在使用这些模型开发一个 Django 应用程序:

class GenericUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=254, unique=True)
    ....

class Usertype1(GenericUser):
    phone = models.CharField(max_length=20, blank=False)
    ....

class Usertype2(GenericUser):
    mobile = models.CharField(max_length=20, blank=False)
    ....

我正在使用 django 注册。每个用户都有自己的注册模板,我已经解决了这个问题。 GenericUser 只有基本的通用字段,没有任何注册模板。我将它用作主要的 Auth 模型。

当我尝试注册为 Usertype1 或 Usertype2 的新用户时出现问题。 Django 回退并创建一个新的 GenericUser 元素,而不在 Usertype1/2 表中做任何事情。我的问题是:我需要做其他事情来创建用户类型寄存器吗?我想我错过了什么。

【问题讨论】:

    标签: python django django-models django-registration


    【解决方案1】:

    Django 仅支持一个身份验证用户。针对您的情况的最佳解决方案是使用具有两个字段的默认用户:

    phone = models.CharField(max_length=20, blank=False)
    mobile = models.CharField(max_length=20, blank=False)
    

    并制作一个表格来验证您需要手机还是手机。另一种选择是:

    phone = models.CharField(max_length=20, blank=False)
    is_mobile = models.BoleanField()
    

    并使用is_mobile 询问用户使用的是手机还是手机。

    必须以类似的方式解决更具体的情况。

    【讨论】:

      猜你喜欢
      • 2013-05-09
      • 2013-05-17
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2017-12-29
      • 1970-01-01
      相关资源
      最近更新 更多