Этот выбор не является одним из доступных вариантов django

У меня есть форма для обновления пользователя, ошибка возникает в поле роли. Я фильтрую роли на основе клиента. Я получаю правильные значения для роли, но в любом случае выскакивает ошибка.

Select a valid choice. That choice is not one of the available choices

views.py

class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
    form_class = UserUpdateForm
    template_name = 'users/modals/update_profile_modal.html'
    success_message = "User updated successfully."

    def get_form_kwargs(self):
        kw = super().get_form_kwargs()
        kw['request'] = self.request
        return kw

    def get_object(self, *args, **kwargs):
        user_id = self.request.session['user_detail']
        return TbUser.objects.get(id=user_id)

    def form_invalid(self, form):
        messages.error(self.request, form.errors)
        print(form.errors)
        return redirect('user-detail', pk=self.object.pk)

    def get_success_url(self):
        return reverse('user-detail', kwargs={'pk': self.object.pk})

forms.py

class UserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    def __init__(self, request, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.request = request
        if request.user.customer:
            self.fields['department'].queryset = TbDepartment.objects.filter(
                customer=request.user.customer)
            self.fields['role'].queryset = TbRole.objects.filter(
                customer=request.user.customer)
        self.fields['username'].required = True
        self.fields['real_name'].required = True
        self.fields['email'].required = True
        self.fields['cellphone'].required = True
        self.fields['department'].required = True
        self.fields['role'].required = True

    class Meta:
        model = TbUser
        fields = ['username', 'real_name', 'email',
                  'cellphone', 'department', 'role']

Я удалил функцию роли, она была лишней в моем проекте.

Вернуться на верх