Django AbstractUser ManyToManyField ничего не получил
Я создал абстрактную модель пользователя в Django. Пользователь принадлежит к нескольким сервисам. Когда я регистрирую пользователя в базе данных, пользователь регистрируется вместо user_services. user_services не сохраняются в базе данных, пока мы регистрируем нового пользователя.
models.py
class UserAbstract(AbstractUser):
user_services = models.ManyToManyField(UserServices, related_name='services', blank=True)
is_expert = models.BooleanField(default=False)
forms.py
class UserRegistrationForm(UserCreationForm):
class Meta:
model = UserAbstract
fields = [
'username',
'email',
'password1',
'password2',
'user_services',
'is_expert',
]
views.py
def Register(request):
if request.method == 'POST':
form = UserRegistrationForm(request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
user = form.save()
if user is not None:
login(request, user)
messages.success(request, f'{username} account has been registered!')
return redirect('profile')
else:
messages.error(request, "Invalid username or password.")
else:
form = UserRegistrationForm()
return render(request, 'user/register.html', {'form': form})
Мне просто нужно добавить эту строку после сохранения пользователя!
user = form.save()
user.user_services.set(services) # services