Django在表单中设置自定义字段不是必需的

时间:2016-09-21 09:34:03

标签: django

的ModelAdmin

class InstrumentAdmin(admin.ModelAdmin):    
    def get_form(self,request, obj=None, **kwargs):
        if obj:
            return UpdateForm
        else:
            return CreateForm

更新表格

class UpdateForm(forms.ModelForm):
    connector = forms.ModelChoiceField(queryset=Connector.objects.all(), widget=forms.Select(attrs={'disabled':'disabled'}), initial='multiplate')

    class Meta:
        model = Instrument
        fields = ['connector','name']

我已经为ChoiceField设置了初始值。但是当我访问模型的更改并保存时,它会提示我“字段连接器需要此字段”。

在这种情况下,如何使该字段不是强制性的?因为那里总会有一个值。

2 个答案:

答案 0 :(得分:0)

修正:

  1. initial = pk而不是名称
  2. 添加required = False

答案 1 :(得分:0)

问题在于您的属性。 变化:

attrs={'disabled':'disabled'}

attrs={'readonly':'readonly'}

禁用在readonly执行时不会将数据发送回服务器。