2016-09-02 82 views
1

在Django中,您可以在admin/頁面中免費獲得模型編輯器。這一切都很好,但我的模型中有幾個字段是生成的,任何人都不能通過表單觸及。不顯示管理頁面中的某些字段

如何從這些admin/.../change/表單中排除它們?

我加排除在ModelAdmin

class exampleAdmin(admin.ModelAdmin): 
    exclude = ('field',) 

class example(models.Model): 
    field = models.CharField(max_length = 100) 
+1

設置'exclude'是正確的方法。你還沒有顯示你的代碼,所以很難說出它爲什麼不起作用。 – Alasdair

+0

@Alasdair我添加了代碼 –

+0

更新後的代碼仍然正常。你如何註冊模型管理類? – Alasdair

回答

2

我有被 產生和不應該被任何人通過形式觸動了我的模型的幾個領域。

你也可以在你的模型的領域

Field.editable

如果爲False,現場將不會顯示在管理員或任何其他 的ModelForm使用editable=False。在模型驗證過程中它們也被跳過。默認爲 爲真。

class Example(models.Model): 
    field = models.CharField(max_length=100, editable=False) 
+0

我仍然可以在代碼中設置它嗎? –

+0

是的,該字段仍然適用於您的代碼,不會顯示/可編輯,例如在管理 – bakkal

+1

謝謝,這是最好的解決方案,因爲代碼少。 –

3

你必須registerexampleAdmin生效。在您的admin.py中添加admin.site.register(example, exampleAdmin)

相關問題