Hello,
When passing initials
into a model formset, INITIAL_FORMS
starts with zero, different the default formset
(I don’t have any instances of the model).
Example:
Model FormSet
class Animal(models.Model):
name = models.CharField(max_length=5)
FormSet = modelformset_factory(Animal, fields=['name'], extra=0)
f = FormSet(initial=[{'name': 'cat'}])
print(f.management_form.initial)
# {'TOTAL_FORMS': 0, 'INITIAL_FORMS': 0, 'MIN_NUM_FORMS': 0, 'MAX_NUM_FORMS': 1000}
FormSet
class AnimalForm(forms.Form):
name = forms.CharField()
FormSet = formset_factory(AnimalForm, extra=0)
f = FormSet(initial=[{'name': 'cat'}])
print(f.management_form.initial)
# {'TOTAL_FORMS': 1, 'INITIAL_FORMS': 1, 'MIN_NUM_FORMS': 0, 'MAX_NUM_FORMS': 1000}
I verified in the code that initial_form_count
returns the value of len(self.get_queryset())
and not of the informed initials count here, is this correct?