How to assign a user to a group during registration using django-userena?

I would like to divide users into two groups, employer or employee, during registration. I am using django-userena, and for a group of employers I am thinking of using a clone of the same type of registration, except with a different URL bound to it.

So, whoever subscribes to url (r '^ signup / employer / $) will be added to the employer group with

new user = user.groups.add(Group.objects.get(name=employer))

added to view. Is this the right approach?

+5
source share
1 answer

Edited : form.save()returns the newly created user. Then you just add it to your group. Your opinion should look something like this:

form = signup_form() 
if request.method == 'POST': 
    form = signup_form(request.POST, request.FILES) 
    if form.is_valid(): 
        user = form.save()
        user.groups.add(Group.objects.get(name='employer'))

signals, . - signup userena:

# somewhere, in your models.py file
@receiver(post_save, sender=User, dispatch_uid='myproject.myapp.models.user_post_save_handler')
def user_post_save(sender, instance, created, **kwargs):
    """ This method is executed whenever an user object is saved                                                                                     
    """
    if created:
        instance.groups.add(Group.objects.get(name='employer'))
+7

All Articles