我一直在尝试禁用UpdateView中的下拉字段(选择)。到目前为止,我主要是利用很少的专业知识(!)尝试了许多事情,这些事情主要来自网络的可用建议(包括SO)。但是很明显(我在此处发布查询的原因)到目前为止,还没有找到解决方案。
此page讨论了该问题,Mike Mahmud的回答谈到了可能的解决方案。在回应Mike的帖子时,@ bcsanches询问是否可以将解决方案应用于UpdateView。不幸的是,(到目前为止)还没有对该查询的答复。
我的问题是:
我们可以在下拉字段中应用“已禁用”参数吗?当我尝试使用此参数时:
'plant': forms.Select(attrs={'disabled': 'disabled', 'style': 'background:lightgrey'})
在表单提交时导致错误“ 此字段为必填”。
当我这样使用“ 只读”时:
'plant': forms.Select(attrs={'readonly': 'readonly', 'style': 'background:lightgrey'})
没有任何效果(用户可以选择选择字段并操纵选择)。
当我在小部件 TextInput 上使用“只读”(我认为对于下拉菜单而言,这不是正确的选择)时,我只会得到该字段的FK字段的值(顺便说一下,这是一个char字段)在工厂模型中):
'plant': forms.TextInput(attrs={'readonly': 'readonly', 'style': 'background:lightgrey'})
在最后一刻,该字段变为普通文本框,并且也被禁用。但是...
有人可以建议在这种情况下应该采取什么正确的方法吗?