2016-07-21 50 views
0

我發現文檔指示如何編輯的ModelAdmin但我需要一個新的,我可以從一個動作如下加載:Django的:創建由管理員操作加載其他頁面的ModelAdmin

我有一個叫運動 模型我有一個模型稱爲廣告

我可以查看管理的課程廣告,它會給我一個完整的,分頁的所有廣告列表。我希望能夠在廣告系列管理視圖中創建一個操作,該操作將加載廣告管理員視圖,但會添加一個廣告系列ID,以便我只能看到特定廣告系列的廣告。

我可以創建一個自定義視圖,並將其作爲來自管理員的操作調用,但當然這將是很多工作。我希望廣告列表看起來像廣告的標準管理視圖。

回答

0

如果你想要的是過濾由競選廣告的能力,你不必爲此創建特殊管理員/動作,它所需要的是正確地配置您的廣告管理的list_filter,即(假設AdsForeignKeyCampaign):

class AdsAdmin(ModelAdmin): 
    # ... 
    list_filter = ["campaign", ] 

如果你想使用一些Campaign的特定字段在過濾器側邊欄(在這裏顯示我們假設Campaignname場):

class AdsAdmin(ModelAdmin): 
    # ... 
    list_filter = ["campaign__name", ] 

另外請注意,您也可以使用InlineModelAdmin管理Campaign的更改表單上的廣告系列的廣告,這通常是更好的用於主/從關係的用戶界面(並且它並不妨礙您將Ads管理員保留爲全球用戶)可過濾 - 概述)。

相關問題