Làm thế nào để tạo tất cả các biểu mẫu trong bộ định dạng django được yêu cầu? Tôi đã cố gắng xác thực sự hiện diện của tất cả các trường trong phương thức clean() của phương thức ghi đè nhưng nó không hoạt động mà không có bất kỳ lỗi nào được hiển thị.Các biểu mẫu Django yêu cầu
Cảm ơn!
Source code:
class BaseScheduleForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(BaseScheduleForm, self).__init__(*args, **kwargs)
self.fields['day'].widget = forms.HiddenInput()
self.fields['user'].widget = forms.HiddenInput()
class Meta:
model = Schedule
def clean_end_time(self):
start_time = self.cleaned_data.get('start_time')
end_time = self.cleaned_data['end_time']
if start_time and end_time:
if end_time <= start_time:
raise forms.ValidationError("End time must be later that start time.")
return end_time
class BaseScheduleFormset(forms.models.BaseModelFormSet):
def __init__(self, *args, **kwargs):
super(BaseScheduleFormset, self).__init__(*args, **kwargs)
for number, weekday in enumerate(WEEKDAYS):
self.forms[number].day_name = weekday[1]
def clean(self):
raise forms.ValidationError('You must specify schedule for the whole week')
ScheduleFormset = forms.models.modelformset_factory(Schedule, extra=7, max_num=7,
form=BaseScheduleForm, formset=BaseScheduleFormset)
Có mỗi 7 biểu mẫu cho một ngày và tất cả trong số họ phải được điền mới có giá trị. Ví dụ ở trên tôi chỉ cố gắng để nâng cao lỗi trong sạch. is_valid()
đã trở thành Sai, nhưng không có lỗi nào được hiển thị.
Bạn có thể xin vui lòng cho biết thêm chi tiết và mã nguồn? – luc