gpt4 book ai didi

python - 模型表单中的 Django 必填字段

转载 作者:IT老高 更新时间:2023-10-28 21:35:30 25 4
gpt4 key购买 nike

我有一个表单,当我不想要它们时,会根据需要显示几个字段。这是来自models.py的表格

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()

在实际的Circuit模型中,字段是这样定义的:

begin = models.DateTimeField('Start Time', null=True, blank=True)
end = models.DateTimeField('Stop Time', null=True, blank=True)

我的views.py在这里:

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})

我该怎么做才能使这两个字段不再是必需的?

最佳答案

如果您不想修改模型中字段的空白设置(这样做会破坏管理站点中的正常验证),您可以在 Form 类中执行以下操作:

def __init__(self, *args, **kwargs):
super(CircuitForm, self).__init__(*args, **kwargs)

for key in self.fields:
self.fields[key].required = False

重新定义的构造函数不会损害任何功能。

关于python - 模型表单中的 Django 必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1134667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com