2016-02-17 62 views
3

我正在爲我的項目使用django-1.7。我正在嘗試使用Django管理員的list_editable選項來一次編輯多個對象的一個​​字段。這裏是我的代碼:在django上使用list_editable時不顯示文本字段admin

class CustomForm(forms.ModelForm): 
    name = forms.CharField(max_length=100, required=False) 

class CustomAdmin(admin.ModelAdmin): 
    form = CustomForm 
    change_form = CustomForm 
    list_display = ('status',) 
    list_editable = ('status',) 

admin.site.register(Custom, CustmAdmin) 

我只能看到一個保存此模型的列表視圖頁面上的按鈕。我無法找到status的任何文本字段來輸入文本以在此模型的各種對象上進行更新。

任何幫助,將不勝感激

enter image description here

+0

另外,我不認爲你需要指定'change_form'。它不是一個記錄的屬性。 – Alasdair

回答

1

的問題是,你只有在list_display一個項目,Django的是使用項目鏈接到該項目的更改視圖。

您可以在list_display的開頭添加另一個字段,然後Django將自動鏈接該字段。

class CustomAdmin(admin.ModelAdmin): 
    list_display = ('other_field', 'status') 
    list_editable = ('status',) 

或者您可以設置list_display_links使不同的字段可鏈接。您也可以執行list_display_links = None,但是您將無法點擊編輯該項目。

+0

很好,謝謝,它工作,但不能從django文檔中獲取它。 –

+0

我認爲Django管理員中的支票可以改進,以解決您的問題並顯示警告。我打開了一張票[26229](https://code.djangoproject.com/ticket/26229#comment:1)。 – Alasdair

+0

太好了,它對許多人都有幫助 –

相關問題