Tôi có một biểu mẫu trong đó có một số trường sắp xuất hiện theo yêu cầu khi tôi không muốn chúng. Dưới đây là hình thức từ models.pyTrường yêu cầu Django ở dạng mẫu
class CircuitForm(ModelForm):
class Meta:
model = Circuit
exclude = ('lastPaged',)
def __init__(self, *args, **kwargs):
super(CircuitForm, self).__init__(*args, **kwargs)
self.fields['begin'].widget = widgets.AdminSplitDateTime()
self.fields['end'].widget = widgets.AdminSplitDateTime()
Trong mô hình mạch thực tế, các lĩnh vực được định nghĩa như thế này:
begin = models.DateTimeField('Start Time', null=True, blank=True)
end = models.DateTimeField('Stop Time', null=True, blank=True)
views.py tôi cho điều này là ở đây:
def addCircuitForm(request):
if request.method == 'POST':
form = CircuitForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/sla/all')
form = CircuitForm()
return render_to_response('sla/add.html', {'form': form})
Tôi có thể làm gì để hai trường này không bắt buộc?
Không có cách nào mà các lĩnh vực này trở nên cần thiết bằng cách thay đổi các widget. Nếu mô hình có (null = True, blank = True), modelForm sẽ hiển thị nó theo yêu cầu = False. – simplyharsh
Có vẻ như bạn đã đúng. Bản thân các trường không bắt buộc nhưng các trường Ngày và Giờ trong tiện ích là bắt buộc. – Ryan