I am trying to save a user with its respective group but it gives me an error
error: Direct assignment to the forward side of a many-to-many set is prohibited. Use groups.set() instead.
I also don't know if I make a correct call of the group column
models.py
@login_required
#@allowed_users(allowed_roles=['Administrador'])
def crearusuario(request):
data = {
'empleado': CrearEmpleadoForm()
}
if request.method=="POST":
if request.POST.get('rut') and request.POST.get('nombres') and request.POST.get('apellidos') and request.POST.get('correo_electronico') and request.POST.get('usuario') and request.POST.get('contrasena') and request.POST.get('activo') and request.POST.get('cargo_empleado') and request.POST.get('id_empresa') and request.POST.get('id_unida'):
usersave= Empleado()
usersave.rut=request.POST.get('rut')
usersave.nombres=request.POST.get('nombres')
usersave.apellidos=request.POST.get('apellidos')
usersave.correo_electronico=request.POST.get('correo_electronico')
usersave.usuario=request.POST.get('usuario')
usersave.contrasena=make_password(request.POST.get('contrasena'))
usersave.activo=request.POST.get('activo')
usersave.cargo_empleado=CargoEmpleado.objects.get(pk=(request.POST.get('cargo_empleado')))
usersave.id_empresa=Empresa.objects.get(pk=(request.POST.get('id_empresa')))
usersave.id_unida=UnidadInterna.objects.get(pk=(request.POST.get('id_unida')))
if request.method == 'POST':
formulario = CrearEmpleadoForm(data=request.POST)
if formulario.is_valid():
username=request.POST.get('rut')
password=request.POST.get('rut')
first_name=request.POST.get('nombres')
last_name=request.POST.get('apellidos')
email=request.POST.get('correo_electronico')
groups=Group.objects.get(pk=(request.POST.get('group')))
cargo=CargoEmpleado.objects.get(pk=(request.POST.get('cargo_empleado')))
activo=request.POST.get('activo')
user=get_user_model().objects.create(
username=username,
password=make_password(password),
first_name=first_name,
last_name=last_name,
email=email,
cargo_empleado=cargo,
is_active=True,
groups=groups
)
cursor=connection.cursor()
cursor.execute("call SP_crear_usuario('"+usersave.rut+"','"+usersave.nombres+"', '"+usersave.apellidos+"', '"+usersave.correo_electronico+"', '"+usersave.usuario+"', '"+usersave.contrasena+"', '"+usersave.activo+"', '"+str(usersave.cargo_empleado.id)+"', '"+str(usersave.id_empresa.id)+"', '"+str(usersave.id_unida.id)+"')")
messages.success(request, "El empleado "+usersave.nombres+" se guardo correctamente ")
return render(request, 'app/crearusuario.html', data)
else:
return render(request, "app/crearusuario.html", {'empleado':formulario})
else:
return render(request, 'app/crearusuario.html', data)
help me please