2012-03-14 67 views
24

我想顯示一條警告消息,如果我處於編輯窗體中並隱藏它,如果我處於Django ModelForm的創建窗體中。測試Django ModelForm是否有實例

form.is_bound告訴我,如果表單之前已經填充了,但是如何測試ModelForm是否設置了現有實例?

我試過這個hasattr(form.instance, 'pk'),但這是否正確嗎?

乾杯,

Natim

回答

40

嘗試檢查,如果form.instance.pkNone

hasattr(form.instance, 'pk')將始終返回True,因爲每個模型實例都有一個pk字段,即使它尚未保存到數據庫中。

+0

好的,謝謝,這是我們選擇做的。 – Natim 2012-03-14 15:23:05