Django Formset Обязательные поля в валидации набора форм

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

Как сделать это правильно? Спасибо за ответы.

forms.py

class CompositionForm(ModelForm):
positionId = PositionsChoiceFields(queryset=Position.objects)

class Meta:
    model = Players
    fields = ("positionId",
              ...
              )

    labels = {"positionId": "Nas",

             ...
              }

    widgets = {}
    for i, f in enumerate(fields[1:]):
        widgets[f] = forms.TextInput(
            attrs={"disabled": True, "class": "show-input-as-text form-control flex-fill", "required": "false"})

def __init__(self, *args, **kwargs):
    super(CompositionForm, self).__init__(*args, **kwargs)


PlayersFormSet = modelformset_factory(Players, form=CompositionForm,)

views.py

class CompositionView(BaseView):
template_name = "..."

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    return context

def get(self, *args, **kwargs):
    # context = self.get_context_data(**kwargs)
    context = {}
    team = Teams.objects.get(userId=self.request.user.id)
    formset = PlayersFormSet(queryset=Players.objects.filter(teamId=team, ), )
    context["formset"] = formset
    return render(self.request, self.template_name, context=context)

def post(self, *args, **kwargs):
    context = self.get_context_data(**kwargs)
    team = Teams.objects.get(userId=self.request.user.id)
    form = PlayersFormSet(data=self.request.POST, queryset=Players.objects.filter(teamId=team))
    form.clean()
    print(form.errors)
    print(self.request.POST)
    print(form.is_valid())

    return render(self.request, self.template_name, context=context)

[{'positionId': ['Это поле обязательно для заполнения'], ...

<QueryDict: 'form-TOTAL_FORMS': ['5'], 'form-INITIAL_FORMS': ['4'], 'form-MIN_NUM_FORMS': ['0'], 'form-MAX_NUM_FORMS': ['1000'], 'form-2-positionId': ['1'], 'form-3-positionId': ['1']}>

.

Ложь

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