Цикл справки django в formset возвращает только последний индекс в forms.py - PullRequest
0 голосов
/ 25 марта 2019

пытается перебрать формы formset внутри forms.py, но он возвращает только последний индекс formset, но не все. forms.py:

class MyModelFormSet(BaseModelFormSet):
def clean(self):
    super(MyModelFormSet, self).clean()

    totalforms = self.total_form_count() #to get number of forms in formset

    for form in self.forms:
        for n in range(totalforms):
            d = self[n].cleaned_data['debit'] # if i use  manullay self[0], self[1] it works
        if d == 100:
            raise forms.ValidationError('debit is 100!')
        return d

1 Ответ

0 голосов
/ 25 марта 2019

наконец решено с комментарием NVS Вот обновленный код: сначала нужно настроить список, а затем добавить в этот список

class MyModelFormSet(BaseModelFormSet):
def clean(self):
    super(MyModelFormSet, self).clean()

    totalforms = self.total_form_count() #to get number of forms in formset
    ds = []
    for form in self.forms:
        for n in range(totalforms):
            d = self[n].cleaned_data['debit']
            ds.append(d)
        if 100 in ds:
            raise forms.ValidationError('debit is 100!')
        return d
...