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)   

Ответы (0 шт):