2015-06-30 196 views
0

所以我有一個Bookings模型在我的django應用程序。我正在使用django admin顯示有關預訂的信息。我想直接從changelist視圖創建自定義網址 - (而不是change視圖)。django管理員自定義模型管理url

我想要的網址是這樣的:/admin/bookings/generate_bookings

我已經註冊了網址在我的模型管理員通過覆蓋get_urls功能。問題是,django會自動解析任何遵循model_name/<text>語法的url作爲詳細視圖url,並且它假定text中的任何內容都是給定模型的主鍵。

其結果是我得到的錯誤:

booking object with primary key u'random_text' does not exist.

有沒有什麼辦法讓我的自定義URL首先來解決?

回答

1

如果你這樣做:

def get_urls(self): 
    urls = super(BookingAdmin, self).get_urls() 
    my_urls = patterns('', 
     (r'^generate_bookings/$', self.your_custom_function) 
    ) 
    return my_urls + urls 

和變更表模板的地方:

<a href="generate_bookings/">Generate Booking</a> 

它應該工作。它至少對我至少有效

+0

它在'change'視圖中工作正常。不在'changelist'視圖中 –