2016-07-21 21 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管理员保留为全球用户)可过滤 - 概述)。

相关问题