Django应用程序应该彼此独立吗?

时间:2012-11-15 19:40:42

标签: django django-models

我无法确定如何将项目的功能拆分为不同的应用程序。

简单示例:我们有成员,成员可以再拥有一项服务。服务可以升级,降级,添加其他服务,也可以取消。 (这是非常简单的,如果它实际上很简单,我会使用预先制作的解决方案)

我的第一个想法是把它变成'成员'应用程序,然后是一个'服务'应用程序,负责续订,升级/降级和取消。

然后我想我应该制作续订应用,升级/降级应用和取消应用。但是,这些应用程序都将依赖于DB中的相同表(成员和服务)。我认为应用程序应该彼此独立。是否可以使应用程序严重依赖其他应用程序模型?

同样,如果有这么多应用使用它,我应该使用哪个应用程序存储模型来创建服务表?

2 个答案:

答案 0 :(得分:2)

我认为你首先认为是正确的:你没有获得如此多的好处,将所有东西分成多个应用程序,相反它可能会变得混乱而难以保留。

Django的做事方式取决于很多模型。每个对象都映射到数据模型上的实体。您的应用程序主要与此类数据模型相关。因此,如果您有一个具有不同部分的实体(服务),那么最好将这些部分理解为同一部分。另一个实体(成员)应该是另一个实体(因为它是另一回事)。

从不同的应用程序导入模型没有任何代价。最重要的是建立数据模型以保持一致。

答案 1 :(得分:0)

应用程序的目的是允许第三方作为插件重用的代码。如果可能的话,你可能不希望将项目分成很多部分。