Когда я регистрирую работника, он добавляется и в группу клиентов, и в группу работников. Я хочу, чтобы он был добавлен только в рабочую группу. Для клиента все работает нормально

Когда я регистрирую работника, он добавляется и в группу клиентов, и в группу работников. Я хочу, чтобы он был добавлен только в рабочую группу. Для клиента все работает нормально 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)
Вернуться на верх