2016-09-21 53 views
0

InstrumentAdmin(admin.ModelAdmin)傳遞值的ModelForm

def get_form(self,request, obj=None, **kwargs): 
    if obj: 
     return UpdateForm 
    else: 
     return CreateForm 
  1. 我怎樣才能在這種情況下的值(obj.id)傳遞給UpdateForm?我需要該值來從數據庫中的另一個表中獲取數據,並將其顯示在UpdateForm的自定義字段中。

  2. 我如何從ModelForm中獲取值?

我已經找了很多例子,但仍然無法弄清楚它是如何工作的。適用於任何幫助。

回答

0

您在代碼中存在一些問題。方法get_form()明確表示要返回想要使用的表單,但現在您要返回超類表單,而第一個檢查幾乎沒用。所以這也許應該是某事像這樣:

def get_form(self,request, obj=None, **kwargs): 
    if obj: 
     return UpdateForm 
    else: 
     return CreateForm 
  1. 如何通過價值觀形成?只需將該值作爲關鍵字參數添加,例如,如果您的表單字段名稱爲value,請將其作爲return CreateForm(value=10)

至於第二個問題,你能詳細說明你想從哪個ModelForm得到什麼值嗎?

+0

感謝您的糾正。 – soohan

+0

我想將例如10的整數傳遞給UpdateForm。我需要從數據庫中獲取一些數據。 – soohan

+0

欲瞭解更多信息,我想通過obj.id到表單。 – soohan