Как изменить набор запросов поля ModelChoiceField перед отправкой формы пользователю в представлении?
У меня такая форма:
class CategoryForm(forms.Form):
category = forms.ModelChoiceField(queryset=Category.objects.filter(parent=None))
И вид:
def category_select(request, pk):
if request.method == "POST":
# ...
else:
form = CategoryForm()
# I want to change category field's queryset here.
return render(
request,
"ads/select-category.html",
{
"form": form,
},
)
В этом представлении я хочу изменить queryset
поле category
в form
(на основе pk
, которое оно получает из url в качестве параметра).
form.fields['category'].queryset = Category.objects.filter(....)
def category_select(request, pk):
if request.method == "POST":
# ...
else:
form = CategoryForm()
# Change the queryset of the category field
form.fields['category'].queryset = Category.objects.filter(....)
return render(
request,
"ads/select-category.html",
{
"form": form,
},
)