2015-06-15 25 views
0

我爲我的應用程序設置了一個公共API。我想從我的應用程序代碼中分離我的API代碼,所以我將它放在一個新的django項目中,並使用「Django REST Framework」構建公共API服務的腳手架。從不同的Django項目導入模型

我在如何保持模型在我的主應用程序項目和這個新的Django API項目之間保持同步而苦苦掙扎...產品開發可能會在需要模型更改的應用程序項目中繼續,而且我希望這些模型將更改爲傳播到API項目。

有沒有辦法指向或從不同的Django項目導入模型?

回答

0

在讓外部網站指定你的數據庫的結構看起來像不會有安全問題?任何類型的問題(或中間人攻擊的人)都可能完全修改(或銷燬)數據庫,而無需執行任何操作。

我認爲最好有API版本比你要求的更好。我寧願同時運行2個併發版本,讓API消費者更新他們的模式的時間,而不是強制他們的模式和數據的自動更新。一般來說,如果可能的話,我只會使用一個API版本,注意始終保持與舊版本的兼容性。我只是說,對於一般的公共API,我不知道你的API應該如何開放以及你的開發(API和消費者)有多接近,所以我可能完全超出你的範圍!

+0

我不認爲有一個安全問題:我有我的應用程序代碼和api代碼在單獨的基礎架構上,可以獨立擴展,但我想用它們連接相同的模型... – jjt143

+0

所以我可能打包模型在兩個項目使用的應用程序中,允許您有一個傳播到這兩個項目的單個修改點(該應用程序)(但我從來沒有這樣做過,所以我不太瞭解它)。另外,即使我對每個項目都沒有這樣做感到羞恥,我認爲開發一個API對於'TDD'來說通常是最好的用例,因爲您爲此編寫的測試正是您的API消費者正在等待的內容對於。 – BriceP