저는 사용자 정의 ModelForm과 사용자 정의 유효성 검사를 기반으로 formset을 작성하고 있습니다.Django Fomset is_valid()가 오류없이 실패합니다.
문제는 유효성 검사가 오류없이 실패하는 것입니다.()
class AlternateFloorForm(ModelForm):
class Meta:
model = Floor
exclude = ('id_edificio', 'numero_di_piano', 'link', 'id')
widgets = {
'bearing' : HiddenInput(),
'zoom_on_map' : HiddenInput(),
'posizione_immagine' : HiddenInput(),
}
class BaseAlternateFloorFormSet(BaseFormSet):
def clean(self):
if any(self.errors):
return
for i in range(0, self.total_form_count()):
form = self.forms[i]
bearing = form.cleaned_data.get('bearing', None)
if (bearing != None) or (bearing < 0) or (bearing > 360):
raise forms.ValidationError("Bearing is not correct!!!")
나는 하나 개의 양식도 시도했다, 그러나 is_valid 항상 거짓이며, field.errors의 field.non_field_errors는 아무것도 보여주지 : 여기
은 ModelForm 및 해당 formset 정의입니다.
'non_form_errors'를 원하셨습니까? formset'clean'에'ValidationError'를 발생 시키면 non_form_errors가 아닌'non_form_errors'에 저장됩니다. –
네, 맞아요. 이제 "Bearing is not !!!"라는 메시지를 보냅니다. int를 전달하면 모델은 다음과 같습니다. bearing = models.DecimalField (max_digits = 6, decimal_places = 2, null = True) 무엇이 문제인지 모르겠지만 이제는 테스트 만하고 있습니다. 미래에는 십진수 값을 사용할 것입니다 ... –