Registro múltiple, formularios de registro con django-allauth

La aplicación en la que estoy trabajando necesita un inicio de sesión por separado para 2 tipos diferentes de usuarios. Necesitamos "clientes" y propietarios de "negocios" para poder registrarse.

Para el propietario del "negocio", todo lo que necesito hacer es establecer el valor booleanouser.is_business aTrue

He usadoACCOUNT_SIGNUP_FORM_CLASS con una clase separada que establece lo booleano en verdadero y que funciona como un encanto. Pero entonces el inicio de sesión del cliente ya no funciona.

¿Hay alguna manera de crear una vista de registro separada para un usuario diferente?

He probado lo siguiente

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()

Y la forma

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

Y en las urls.py

url(r'^organiser/

El problema es que de alguna manera, el booleano is_business nunca se establece en True. El de muestra, puedo guardar, pero lo que se guarda nunca es un negocio, siempre es un cliente. BusinessSignupForm es una copia de SignUpForm que se encuentra en los formularios de todos.

¿Qué estoy haciendo mal?

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

El problema es que de alguna manera, el booleano is_business nunca se establece en True. El de muestra, puedo guardar, pero lo que se guarda nunca es un negocio, siempre es un cliente. BusinessSignupForm es una copia de SignUpForm que se encuentra en los formularios de todos.

¿Qué estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta