我正在开发这些模型的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-registration . 每个用户都有自己的注册模板,我已经解决了这个问题 . GenericUser仅具有基本公共字段,并且没有任何注册模板 . 我正在使用它作为主要的Auth模型 .
当我尝试注册为Usertype1或Usertype2的新用户时,问题就出现了 . Django退回并创建一个新的GenericUser元素,而不在Usertype1 / 2表中做任何事情 . 我的问题是:我是否需要做其他事来创建Usertype寄存器?我想我错过了一些东西 .
1 回答
Django仅支持一个身份验证用户 . 您的情况的最佳解决方案是使用具有两个字段的默认用户:
并制作一个表格,以确认您需要手机或手机 . 另一种选择是:
并使用
is_mobile
询问用户是使用手机还是手机 .必须以类似的方式解决更具体的情况 .