在我的django表单中,我有一个隐藏的UUIDField的object_id:
class MyForm(forms.Form):
object_id = forms.UUIDField(widget=forms.HiddenInput)
在我看来,我使用初始值填充此id字段。
form = MyForm(initial={'object_id': pk,})
我的想法是将主键传递给表单,然后在提交for时再将其恢复。这样可行。但是,如果用户篡改隐藏字段会怎么样?
为了防止这种情况,我在object_id上设置了 disabled = True ,根据documentation意味着应该遵守初始值(尽管这可能仅仅意味着定义的初始值)字段,而不是表单上定义的字段,通过视图?)。
不幸的是,结果是现在我的object_id返回一个None对象。
所以问题是,如果禁用字段意味着它不返回值。如果确实如此,有没有办法确保隐藏值通过提交的表单进行安全的往返?