如何将表单中的外键字段设置为只读,但仍然允许在提交表单后将此字段识别为有效字段?根据W3C,一旦表单被提交,禁用的字段就会被遗漏....使用下面的代码,我可以将字段设置为禁用,因此只读,但我的表单没有通过
def __init__(self, *args, **kwargs):
super(IssuesForm, self).__init__(*args, **kwargs)
self.fields['vehicle'].widget.attrs['readonly'] = True
思想....?
答案 0 :(得分:2)
我不知道Django或Python语法,但是,类型=“hidden”的输入字段可能正是您正在寻找的。如果您仍想使用禁用字段显示值,您也可以这样做,并依赖隐藏字段获取实际值。
答案 1 :(得分:0)
也许我可以尝试隐藏的领域......我知道这是一种可能性,但我想确定没有别的办法
答案 2 :(得分:0)
我遇到了这个问题,我使用JavaScript来解决
答案 3 :(得分:0)
在许多其他解决方案似乎都无效之后,我遇到了这个问题。这是示例代码,说明如何使用“隐藏”建议使它成功工作,以防对其他人有帮助。
class EditExifForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(EditExifForm, self).__init__(*args, **kwargs)
self.fields['image'].widget.attrs['hidden'] = True # This is the solution
# Setting as 'readonly' didn't make a difference
# Setting as 'disabled' made the form not update the database
class Meta:
model = exif
...