首先稍微背景:覆蓋特定模型的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