django admin自定义模型管理员网址

时间:2015-06-30 18:39:37

标签: python django django-admin django-modeladmin

所以我的django应用程序中有Bookings模型。我使用django admin来显示有关预订的信息。我想直接从changelist视图创建自定义网址(不是change视图)。

我希望网址类似于:/admin/bookings/generate_bookings

我通过覆盖get_urls功能在我的模型管理员中注册了该网址。问题是django会自动解析任何遵循model_name/<text>语法的网址作为详细视图网址,并假设text中的任何内容都是给定模型的主键。

结果我收到错误:

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

有没有办法让我的自定义网址首先解析?

1 个答案:

答案 0 :(得分: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

并在某处的changelist模板中:

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

它应该有用。它至少对我有用