相关疑难解决方法(0)

覆盖特定模型的Django管理员URL?

首先是一点背景:

我有一个Event有各种各样event_type的模型.我想打破其中一个事件类型,'电影',进入它自己的管理员.我有基本的功能:一个代理模型继承自Event命名Film,该代理模型的自定义管理器,它只将其过滤为"电影"事件类型,它是自己的ModelAdmin.

问题是相反的.我现在需要从主Event管理员中过滤掉电影.我不想改变Event模型或其默认管理器,因为影响太大了.因此,我尝试创建另一个代理模型,EventAdminProxy其唯一目的是在管理员中提供过滤的事件列表.然后,我Event使用现有的ModelAdmin 注册此模型,而不是.

这显然有效,但它有改变管理员URL的不幸副作用.而不是更改列表位于"/ admin/event/event /",它现在位于"/ admin/event/eventadminproxy /".

我要做的是保持这个设置,但也保留旧的URL.我试过重载ModelAdmin的get_urls方法,但从我所知道的,你无法控制那里的完整URL,只有"/ app_label/model_class /"之后的内容.

我想在主urls.py中覆盖它,但无法找出可接受的视图.实际视图仅在实例化的ModelAdmin对象上可用,而不是类本身.

有关如何覆盖管理员中使用的URL的任何想法?

django url django-urls django-admin

7
推荐指数
2
解决办法
7592
查看次数

标签 统计

django ×1

django-admin ×1

django-urls ×1

url ×1