首页 文章

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

提问于
浏览
0

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

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

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

结果我收到错误:

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

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

1 回答

  • 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>
    

    它应该工作 . 它至少对我有用

相关问题