Почему моя форма недействительна с этой ошибкой: "Выберите правильный вариант. Этот выбор не является одним из доступных вариантов".
forms.py:
class CategoryForm(forms.Form):
category = forms.ModelChoiceField(queryset=Category.objects.filter(parent=None))
models.py:
class Category(models.Model):
parent = models.ForeignKey(
"Category",
on_delete=models.CASCADE,
related_name="children",
null=True,
)
title = models.CharField(max_length=255)
def __str__(self):
return self.title
views.py:
def category_select(request, pk):
if request.method == "POST":
form = CategoryForm(request.POST)
if form.is_valid():
category = form.cleaned_data["category"]
if category.children.all():
return redirect(reverse("category_select", args=[category.pk]))
else:
return HttpResponse("no children")
else:
return render(
request,
"ads/category_select.html",
{
"form": form,
},
)
Цель этой формы заключается в том, что если пользователь выбрал категорию, у которой нет детей, она возвращает HttpResponse('no children')
. Но когда я выбираю и отправляю форму, она выдает такую ошибку:
Выберите правильный выбор. Этот выбор не является одним из доступных вариантов.