2012-03-30 36 views
2

我想顯示change_form根據一些模型字段的值不同的形式。Django管理:我可以創建在運行時管理界面形式?

例如(假設我們有一個物業代理):

如果item.type == 'sale',我想顯示 '價格' 字段

如果item.type == 'rent',我想顯示 'price_per_month', 'price_per_month' 等 - 但不是價格

PS:例如是不完美的 - 因爲它的問題可以通過數據庫結構來解決 - 但我的問題是關於接口

回答

2

有一個ModelAdmin方法get_form這需要請求和對象(注意,這將是None當你添加一個新的實例),並返回形式

約壓倒一切的無證方法通常的警告適用,因爲Django的api stability promise不適升級時要小心。

+0

聽起來像計劃;)順便說一下,在neithere EAV-django的(https://bitbucket.org/neithere/eav-django)中使用的方法這樣的 - 我actualy需要插入由用戶定義的字段,並我希望他們看起來'天生'。那謝謝啦 :) – 2012-04-01 05:59:06