小编mrn*_*sco的帖子

多用户类型使用django-allauth注册

编辑

请不要浪费你的时间阅读这个问题......这是错误的做法!

请查看我自己的答案,了解正确解决方案的分步指南(解释)

TL; DR

如何使用django-allauth为私人和公司用户实施注册?

我正在遵循的方法(是正确的吗?)

我有以下内容models:

class PrivateUser(models.Model):
    """Models a private user account"""
    user = models.OneToOneField(User, on_delete=models.CASCADE)


class CompanyUser(models.Model):
    """Models the company's contact person user account"""
    user = models.OneToOneField(User, on_delete=models.CASCADE)


class Company(models.Model):
    """Models the company attributes"""
    contact_person = models.OneToOneField(User, related_name='company')
    name = models.CharField(max_length=50, null=False, blank=False)
    vat_no = models.CharField(
        # some config and validators
    )
    # ... other non-relevant fields
Run Code Online (Sandbox Code Playgroud)

现在,我必须区分这两个用户,PrivateUserCompanyUser在注册过程中使用django-allauth只有一个注册表单,如官方django-allauth文档中所指定的:

ACCOUNT_SIGNUP_FORM_CLASS(=无)

指向自定义表单类(例如myapp.forms.SignupForm)的字符串,用于在注册期间向用户请求其他输入(例如,简报注册,出生日期).此类应实现一种 def signup(self, request, user)方法,其中用户表示新注册的用户.

因此,创造一个独特的形式,我创建了一个抽象的模型类与来自各个领域 …

django django-forms django-allauth

4
推荐指数
2
解决办法
1995
查看次数

标签 统计

django ×1

django-allauth ×1

django-forms ×1