2009-08-27 89 views
11

我剛剛瞭解到,將模型類拆分爲不同的文件會破壞django的許多內置功能。爲什麼django強制所有模型類在models.py中?

我來自java的背景。在那裏,它不被接受爲編寫非常長的類文件的良好實踐。但是django對所有模型類的單個文件的執行可能會導致程序員編寫非常長的models.py文件。這將使程序員很難看到整個域模型的組織。

那麼爲什麼Django強制單個文件包含所有域類?

我發現a solution proposal這個問題通過谷歌搜索。但我無法確定這是否會正常工作。你建議這個解決方案嗎?

+0

您的鏈接已死亡。你能否更新它? – Gabriel 2016-04-30 13:29:35

+0

[models.py越來越大,可能出現的重複是什麼?](http://stackoverflow.com/questions/1160579/models-py-getting-huge-what-is-the-best打破它) – Ajoy 2016-06-06 04:32:59

回答

7

單個命名空間:是。單個模塊:沒有。

您的模型必須可從名稱空間appname.models導入。

+0

我認爲這個答案可能是這個問題的正確答案,但它可以肯定地做得更清楚。 我認爲它基本上歸結爲'appname.models'需要從其他模塊導入所有模型。 解釋爲什麼或在何處記錄此行爲將有所幫助。 – SpoonMeiser 2015-12-21 12:08:17

+0

同樣,爲什麼要讓'appname.models'只導入定義其他模型的模塊還不夠?那肯定會觸發必要的元類魔法?如果不是,爲什麼? – SpoonMeiser 2015-12-21 12:10:35

相關問題