django - I can't achieve modelformset set initial values to the extra forms -


this code:

gaugeformset = modelformset_factory(gaugeconfiguration,form=gaugeconfigurationform, extra=3, fields='__all__')  gauges = gaugeconfiguration.objects.filter(configuration=configuration) gaugeformset = gaugeformset(queryset=gauges, initial=[{'configuration':configuration,}]) 

the problem initial parameter applies first form, , not others.

i found in django documentation:

providing initial values

as regular formsets, it’s possible specify initial data forms in formset specifying initial parameter when instantiating model formset class returned modelformset_factory(). however, model formsets, initial values apply forms, aren’t attached existing model instance. if forms initial data aren’t changed user, won’t validated or saved.

in theory, initial values should apply forms. why applying first form?

for formsets, initial list of dictionaries, each dictionary initial data one form.

this allows have different initial data each form, example:

initial = [{'configuration': 'configuration1',},           {'configuration': 'configuration2',},           {'configuration': 'configuration3',},           ]  

if want same initial data every form, can do:

initial = [{'configuration': configuration,}] * 3) 

Comments