Многократная регистрация, регистрационные формы с использованием django-allauth

Приложение, над которым я работаю, требует отдельного входа в систему для двух разных типов пользователей. Нам нужны "клиенты" и "бизнес" владельцы, чтобы иметь возможность зарегистрироваться.

Для владельца «бизнеса» все, что мне нужно сделать, это установить логическое значениеuser.is_business вTrue

я использовалACCOUNT_SIGNUP_FORM_CLASS с отдельным классом, который устанавливает логическое значение true и работает как шарм. Но тогда клиентский логин больше не работает.

Есть ли способ создать отдельное представление регистрации для другого пользователя?

Я пробовал следующее

class BusinessUserRegistrationView(FormView):
    form_class = BusinessSignupForm
    template_name = 'allauth/account/signup.html'
    view_name = 'organisersignup'
    success_url = reverse_lazy(view_name)
organisersignup = BusinessUserRegistrationView.as_view()

И форма

class BusinessSignupForm(BaseSignupForm):
    password1 = SetPasswordField(label=_("Password"))
    password2 = PasswordField(label=_("Password (again)"))
    confirmation_key = forms.CharField(max_length=40,
                                       required=False,
                                       widget=forms.HiddenInput())

    def __init__(self, *args, **kwargs):

        super(BusinessSignupForm, self).__init__(*args, **kwargs)
        if not app_settings.SIGNUP_PASSWORD_VERIFICATION:
            del self.fields["password2"]

    def clean(self):
        super(BusinessSignupForm, self).clean()
        if app_settings.SIGNUP_PASSWORD_VERIFICATION \
                and "password1" in self.cleaned_data \
                and "password2" in self.cleaned_data:
            if self.cleaned_data["password1"] \
                    != self.cleaned_data["password2"]:
                raise forms.ValidationError(_("You must type the same password"
                                              " each time."))
        return self.cleaned_data

    def save(self, request):
        adapter = get_adapter()
        user = adapter.new_user(request)
        user.is_business = True
        adapter.save_user(request, user, self)
        self.custom_signup(request, user)
        setup_user_email(request, user, [])
        return user

И в urls.py

url(r'^organiser/

Проблема в том, что каким-то образом логическое значение is_business никогда не устанавливается в значение True. От выставок я могу сохранить, но то, что сохраняется, никогда не бывает бизнесом, а всегда клиентом. BusinessSignupForm - это копия SignUpForm, найденная в формах Аллаута.

Что я делаю неправильно?

, 'authentication.views.organisersignup', name='organisersignup'),

Проблема в том, что каким-то образом логическое значение is_business никогда не устанавливается в значение True. От выставок я могу сохранить, но то, что сохраняется, никогда не бывает бизнесом, а всегда клиентом. BusinessSignupForm - это копия SignUpForm, найденная в формах Аллаута.

Что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос