Django:创建由admin操作加载的其他ModelAdmin页面

时间:2016-07-21 10:24:59

标签: django django-admin

我找到了指示如何编辑ModelAdmin的文档,但是我需要一个可以从动作加载的新文档,如下所示:

我有一个名为广告系列的模型 我有一个名为广告的模型

我可以从管理员处查看广告,它会为我提供所有广告的完整分页列表。我希望能够在广告系列管理视图中创建一个操作,该操作会加载广告管理视图,但会显示广告系列ID,以便我只能看到特定广告系列的广告。

我可以创建一个自定义视图并将其称为来自管理员的操作,但当然这将是很多工作。我希望广告列表看起来就像广告的标准管理视图一样。

1 个答案:

答案 0 :(得分:0)

如果你想要的是按广告系列过滤广告的功能,则无需为此创建特殊的管理/操作,只需正确配置广告管理员list_filter,即(假设{ {1}} Ads上有一个ForeignKey

Campaign

如果您想使用某些class AdsAdmin(ModelAdmin): # ... list_filter = ["campaign", ] 特定字段在过滤器侧边栏中显示(此处我们假设CampaignCampaign字段):

name

另请注意,您也可以使用InlineModelAdminclass AdsAdmin(ModelAdmin): # ... list_filter = ["campaign__name", ] 的更改表单上管理广告系列的广告,这通常是主/从关系的更好用户界面(并且它不会阻止您让Campaign管理员保持全局 - 可过滤 - 概述。