2012-11-15 40 views
1

我無法確定如何將項目的功能分解到不同的應用程序中。Django應用程序應該彼此獨立嗎?

簡單的例子:我們有成員,成員可以有更多的服務。服務可以升級,降級,添加其他服務,也可以取消。 (這是非常簡單的,是不是簡單的現實我會使用預先制定的解決方案)

我的第一個想法是把它變成一個'會員'申請,然後一個'服務'的應用程序,照顧更新,升/降級和取消。

然後,我想我應該做一個更新應用程序,上/下降的應用程序和取消應用程序。但是,這些應用程序都依賴於數據庫中的同一個表(成員和服務)。我認爲應用程序應該彼此獨立。可以使應用程序嚴重依賴於其他應用程序模型嗎?

沿着同樣的路線,如果有這麼多的應用程序使用它,我應該使用哪個應用程序來存儲模型以創建服務表?

回答

2

我認爲你的第一個想法是正確的:你沒有得到很多好處,將everythin分成多個應用程序,相反它可能變得混亂和難以維持。

Django的處事方式取決於很多模型。每個對象都映射到數據模型上的一個實體。您的應用程序主要是根據這種數據模型進行組織的。所以,如果你有一個具有不同部分的實體(服務),最好將這些部分理解爲同一事物的一部分。另一個實體(成員)應該是另一個實體,因爲它是不同的事情。

從不同的應用程序導入模型是沒有懲罰的。無論如何,構建數據模型最重要的是保持一致。

0

應用程序的重點在於允許第三方將代碼重新用作插件。如果有的話,你可能不想將你的項目分成很多應用程序。