2012-11-22 87 views
2

我有一個漂亮的愚蠢的關於Django中模型命名約定的問題。Django模型命名約定

想象一下建有房間的農莊。

農莊 - >建築 - >客房

隨着農莊它是好的,讓我們把它叫做Farmstead。下一個:BuildingFarmsteadBuildingBuildingRoom,RoomFarmsteadBuildingRoom

回答

5

如果所有的Room實例屬於Building(並沒有另一種像Apartment模型)和所有實例的Building屬於Farmstead(以下同樣的想法),所以只需使用的名字你型號如Farmstead,BuildingRoom。沒有必要指定業務邏輯中已經指定的內容。

+1

然後另一個類似的問題:如果我創建一個通用應用程序,我可以命名文章所在的「Article」和「Category」之類的模型嗎?還是我需要命名爲「ArticleCategory」? – aemdy

+3

在大多數情況下,我更喜歡'Category'。例如,如果您正在創建「博客」應用,則「類別」和「文章」是博客中的模型。如果你有另一種'類別',也許這個邏輯可能是另一個應用程序的一部分,而不是博客。因此,在這種情況下,如果您要在同一個python模塊中導入這兩個類,可以簡單地使用'from blog import Category'和'from anotherapp import Category as AnotherAppCategory'。希望能幫助到你! –

0

根據代碼中其他部分的結構,可以使用Django應用程序的名稱,包或模塊來進一步限定名稱的範圍。