【发布时间】:2012-02-08 08:28:22
【问题描述】:
我的项目由几个 django 应用程序组成,它们需要以不同的方式部署,可能在不同的机器上。然而,这些应用程序经常偶尔需要访问彼此的模型,所以我正在考虑“外部化”我的模型,以便可以从任何应用程序更优雅地访问它们。所以我们的想法是要有类似这样的目录结构:
/
+ application1
+ application2
+ models
由于应用程序可以相互交叉引用,这样做是否有功能点(代码可维护性除外)?
【问题讨论】:
-
很难说。你能想到缺点吗?会不会混淆混入一个文件夹中的所有模型?
-
@dqhendricks:不,不是。事实上,它可能会更容易管理,因为我们将有一个单一的数据库接口焦点......
-
模型应用内可以很好地相互依赖。为什么要尝试提取模型?什么是“更优雅”?
from app.models import This, That看起来很优雅。您如何改进这一点? -
@S.Lott:确实如此。似乎发生了一些碎片化,应用程序拥有自己的模型,这些模型仅描述数据库架构的一部分。
-
@Goro:碎片化?我们将这些称为“主题领域”,并使用它们将复杂问题分解为更小、相关、更简单的问题。把大问题分解成小问题有什么问题?
标签: python database django model