2014-10-28 85 views
0

我們有一個django應用程序,它的核心是一系列帶有Forms的網頁,我們的用戶按順序填寫表單。 (我們將調用特定系列頁面上的表單作爲「流」)。Django - 在不同的環境中使用不同的模型

我們將爲該合作伙伴添加白色標籤 - 合作伙伴需要添加一些字段,甚至添加一些網頁與他們自己的新形式。這可能會導致填寫表格的新訂單。 (新的「流程」,除了對現有表單/模型或新的表單/模型的更改外)。

什麼是最好的方式來擴展我們現有的,簡單的表單和模型結構以使用不同的表單和模型取決於應用程序的運行實例(例如環境變量)?有些事情我們想到:

  • 實現類似get_user_model在應用程序的每個式樣和使用,這會看看當前環境
  • 實現一個更通用的key-value存儲,使我們不當前執行的字段類型約束(即有數據字段的名稱是還有部分數據)
  • 跟蹤這個特定的環境的「流」和它需要使用
  • 子類現有模型的模型數據模型和每個新的白標籤實施的表格

回答

0

型號字段注入可能是你在找什麼,看一看的this article

這種方法可以歸結爲三個概念:

  • 動態添加字段的模型類確保Django的型號
  • 系統尊重新字段
  • 正確獲取負載排序以使其工作

Mezzanine已通過EXTRA_MODEL_FIELDS

做了一個漂亮的工作實施這一模式字段注入動態模型外
相關問題