2015-06-30 199 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'视图中 –