首先稍微背景:覆盖特定模型的Django管理URL?
我有一个Event
模型,有各种各样的event_type
s。我想将其中的一种事件类型'电影'放入其自己的管理员中。我拥有基本功能:代理模型继承自Event
,名为Film
,该代理模型的自定义管理器将其过滤为仅“电影”事件类型,并且是自己的ModelAdmin。
问题与此相反。我现在需要过滤掉主要的Event
管理员的电影。我不想更改Event
模型或其默认管理器,因为影响会过于广泛。所以,我尝试创建另一个代理模型,EventAdminProxy
,其唯一目的是在管理员中提供过滤事件列表。然后,我用现有的ModelAdmin注册该模型,而不是Event
。
这显然有效,但它具有改变管理员中URL的不幸副作用。现在位于“/ admin/event/eventadminproxy /”,而不是位于“/ admin/event/event /”的更改列表。
我想要做的是保持此设置,但也保留旧的URL。我试着重载ModelAdmin的get_urls
方法,但根据我的说法,您无法控制整个网址,只有在“/ app_label/model_class /”部分之后。
我想在主urls.py中覆盖它,但无法弄清楚一个可接受的视图。实际视图仅在实例化的ModelAdmin对象上可用,而不是类本身。
有关如何覆盖管理中使用的URL的任何想法?
好的。将那个添加到“我是白痴”类别。不能相信我没有想到这一点。谢谢! – 2011-04-15 18:06:20