Этот выбор не является одним из доступных вариантов 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']
Я удалил функцию роли, она была лишней в моем проекте.