Когда я регистрирую работника, он добавляется и в группу клиентов, и в группу работников. Я хочу, чтобы он был добавлен только в рабочую группу. Для клиента все работает нормально
Когда я регистрирую работника, он добавляется и в группу клиентов, и в группу работников. Я хочу, чтобы он был добавлен только в рабочую группу. Для клиента все работает нормально signals.py
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.contrib.auth.models import Group
from .models import Client,Worker
#рабочий сигнал
def worker_profile(sender, instance, created, **kwargs):
if created:
group = Group.objects.get(name='worker')
instance.groups.add(group)
Worker.objects.create(
user=instance,
name=instance.username,
)
print('profile created!')
post_save.connect(worker_profile, sender=User)
#клиентский сигнал
def client_profile(sender, instance, created, **kwargs):
if created:
group = Group.objects.get(name='client')
instance.groups.add(group)
Client.objects.create(
user=instance,
name=instance.username,
)
print('Profile created!')
`post_save.connect(client_profile, sender=User`)
Когда я регистрирую работника, он добавляется и в группу клиентов, и в группу работников. Я хочу, чтобы он был добавлен только в рабочую группу. Для клиента все работает нормально signals.py
Вот файл views.py
from django.http.response import JsonResponse
from django.shortcuts import render, redirect
from .forms import CreateUserForm, AppointmentForm
from .models import *
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import Group
from django.contrib import messages
from .decorators import allowed_users, unauthenticated_user, worker_only
from .forms import *
from .filters import AppointmentFilter
@unauthenticated_user
def registerPage(request):
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
user = form.save()
username = form.cleaned_data.get('username')
messages.success(request, 'Account was created for ' + username)
return redirect('login')
context = {'form': form}
return render(request, 'users/register.html', context)
def workerRegister(request):
if request.user.is_authenticated:
return redirect('plumber_home')
else:
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
user = form.save()
username = form.cleaned_data.get('username')
messages.success(
request, 'Account was created for ' + username)
return redirect('worker_login')
context = {'form': form, }
return render(request, 'users/worker_register.html', context)
@unauthenticated_user
def loginPage(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('user')
else:
messages.info(request, 'Username OR password is incorrect')
context = {}
return render(request, 'users/login.html', context)