我在 django 站点中管理的对象之一在数据库中只会有一个实例。因此,我想将列表视图更改为简单地重定向到第一个对象的“编辑”页面。
所以基本上当你点击/admin/my_site/widgets 我想重定向到/admin/my_site/widget/1。我已经尝试过自定义视图、自定义模板等,但我找不到这样做的简单方法(或任何这样做的方法)。
这几乎就像我想做这样的事情(不起作用,因为我不知道如何更改列表视图):
class WidgetAdmin(admin.ModelAdmin):
def list_view(self, request):
widget = Widget.objects.all()[0]
return HttpResponseRedirect('/admin/my_site/widget/%s' % widget.id)
我还尝试更改 url 以匹配列表请求并在那里进行重定向,但我似乎无法将列表请求与完整的一揽子正则表达式匹配,即 (r/^.*$/) 哪个意味着我只是得到一个无限循环重定向。