我有一个带有ModelChoiceField的ModelForm,我需要确保初始值应该保持固定,我们不能选择任何其他值。这意味着,使这个字段不可编辑,保存或像这样。我认为,将它设为CharField或者只是Field在这里将无济于事,因为我需要稍后来自该字段的对象进行验证和处理。 请有人帮忙吗?
self.fields['field_name'].widget.attrs['readonly'] = True
答案 0 :(得分:2)
原来,我需要以下代码:
self.fields['field_name'].widget.attrs['disabled'] = 'disabled'
答案 1 :(得分:0)
此选项将在您提交表单时从表单字段中删除实例。
self.fields['field_name'].widget.attrs['disabled'] = 'disabled'
使用该选项,您将禁用要编辑的de字段,并且可以转换要保存到数据库中的init实例。
algorithm = forms.ModelChoiceField(label='Algoritmo',queryset=Algorithm.objects.all(),to_field_name="name",widget=forms.TextInput(attrs={'readonly':'readonly'}))