2011-09-07 39 views
3

我已經設置Django non-rel與Mongodb作爲後端。在模型中,我使用EmbeddedModelField很多次,因爲我喜歡非關係DB的概念。但是,當涉及到渲染表單時。我被卡住了,Django非rel - 如何在模型中使用EmbeddedModelField創建表單?

我創建了表單作爲Django的正常形式,但django在標題欄中顯示了類型錯誤{model}。

有沒有人知道如何在Django非rel中爲EmbeddedModelField創建表單域?

回答

2

只是自己實現一個formfield類。

  1. 實施forms.py
  2. formfield指定形成要在models.py

實施formfield用這個模型來使用是小菜一碟,你只需要在類中實現這兩種方法:

  1. to_python(self, value)
  2. prepare_value(self, value)

如果用舊formfield類的繼承實現它,你可以使用安裝在該formfield小部件。 (小部件是指用戶界面將網頁上的模板系統呈現)

參考實施formfield:How to use ListFields in Django's admin

而且你可以通過替換formfield的原部件實現自己的小部件。

例如,看看django文檔:Django docs - widgets

相關問題