2012-06-22 83 views
1

部分是基於三層結構,像這樣:我可以在此模型中使用Django的默認管理應用程序嗎?一個應用程序,我試圖建立使用Django的模型

class A(models.Model): 
    name = models.TextField() 

class B(models.Model): 
    related_A = models.ForeignKey(A) 
    info = models.TextField() 

class C(models.Model): 
    related_B = models.ForeignKey(B) 
    other_infos = models.TextField() 

所以由一些B類,這是由一些銫的。由於Django管理員不接受嵌套內聯表單,我認爲這樣做的理想方式是使用這種工作流程:將會有一個「A管理頁面」,它會讓我有一個點擊鏈接,稱爲「添加一些B到這個A「,並使用內聯C表單爲我提供一個帶B表單的頁面。

有沒有一種方法可以簡單地從Admin網站上執行此操作,但我沒有看到,還是應該考慮擴展管理默認應用程序?

一些澄清

比方說,你做出大陸等國家和地區的統計數據。我的目標是建立一個明確的結構,將一個國家添加到一個大陸,一個地區添加到一個國家。理想情況下,管理界面的用戶將無法立即添加「立即」國家;她或他需要瀏覽一個頁面,他必須選擇一個大陸。理想情況下,歐洲大陸將有一個單一頁面,其中包含國家內聯形式,每種形式都有區域內聯形式。

由於嵌套內聯表單似乎並不是Django 1.3中的一個功能,因此我正在尋找一種在管理站點中擁有某種「工作流程」的方法:用戶首先單擊「Continent」第一屏;它會顯示一個大陸名單;點擊一個大陸將顯示與這個大陸有關的國家名單;最後,用戶可以編輯國家/地區表格,顯示一些內聯地區表格以允許在同一頁面上添加國家和地區。

我希望這個水泥爲例,使其更容易理解......

+0

你到底想要什麼?您的要求不清楚。 –

回答

0

最簡單的方法是使用Country爲起點:在表單頁面,你可以聯編輯Region以及部隊人員從存在Continent s到選擇或點擊+添加新的。

您還可以修改ModelAdmin以打開Country頁面,並將其保存的Continent填充到pk,這更困難。也請檢查this post

此外,有可能模仿ForeignKey指向AC,和在線編輯在ABC,就像GenericForeignKey一樣。但是,對於大多數用途來說,這很困難和過度...

相關問題