the formset loop does not work. KeyError 'id. django
def allform2():
indicators = survface_water_indicators.objects.in_bulk()
formset = formset_factory(Control, can_order=True)
some_formset = formset(initial=[{'id': id} for id in indicators])
for form in some_formset: #doesn't work
print("-----", form, "-----")
return some_formset
forms.py
class Control(forms.Form):
indicator = forms.CharField(label="")
method = forms.ModelChoiceField(queryset = methodology_kha.objects.none(), initial = 0)
id_indicator = forms.IntegerField(initial = -1)
def __init__(self,*args, **kwargs):
super(Control,self).__init__(*args, **kwargs)
test = survface_water_indicators.objects.get(id = self.initial['id'])
print("test: ", test)#work!!!!
self.fields['id_indicator'].initial = self.initial['id']
self.fields['indicator'].label = test.title
print("self.fields['indicator'].label: ", self.fields['indicator'].label)
self.fields['method'].queryset = methodology_kha.objects.filter(status = True,
survface_water = test)