Почему моя форма недействительна с этой ошибкой: "Выберите правильный вариант. Этот выбор не является одним из доступных вариантов".

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'). Но когда я выбираю и отправляю форму, она выдает такую ошибку:

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

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