2016-09-21 74 views
0

的ModelAdmin形式Django的設置自定義字段不需要

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初始值。但是,當我訪問模型和保存的更改時,它會提示我字段連接器的「此字段是必需的」。

如何在這種情況下使字段不是強制性的?因爲它在那裏總是有價值的。

+0

如果它始終有一個值,那麼它*是*強制性的,當然? –

+0

是的,這是奇怪的部分。可以查看下面的照片。 http://s16.postimg.org/o25nng19h/Capture.png – soohan

+0

如果我爲ModelChoiceField設置Required = False,則初始值將丟失。 – soohan

回答

0

修正:

  1. 初始= PK的名字,而不是需要
  2. = false添加
0

問題是與你的屬性。 變化:

attrs={'disabled':'disabled'} 

attrs={'readonly':'readonly'} 

殘疾人沒有數據發送回服務器,而只讀做的。

+0

使用attrs = {'readonly':'readonly'}幫助顯示數據。但下拉菜單仍然可以使用只讀 – soohan

+0

這個選定的答案將回答:http://stackoverflow.com/questions/8100351/how-to-make-a-dropdown-readonly-using-jquery –