有没有办法让django管理模型列表链接到resutls的最后一页?

时间:2012-12-11 13:34:22

标签: django admin

我们拥有这些中等规模且不断增长的表格,最有趣的东西总是最新的。目前我们按创作时间排序,所以有趣的东西就在最后。导航时需要2次点击,一次选择模型,另一次选择最后一页。

我当然可以改变顺序,所以最近的东西就在前面,但随着新东西被推到前面,页面的内容会不断变化,这使得对历史的探索更加困难。

所以我想知道是否有办法让它直接进入最后一页?

2 个答案:

答案 0 :(得分:0)

这是一个非常特殊的请求,但如果URL中没有page参数(例如,您位于首页),则可以重定向管理视图。

from django.shortcuts import redirect
from django.core.urlresolvers import reverse
class MyAdmin(admin.ModelAdmin):
    ...
    def changelist_view(self, request, extra_context=None):
        if not request.GET.get("p", False):
            return redirect("%s?p=%s" % (
                reverse("admin:my_app__model__changeview"), 
                self.paginator.page_range[-1])
        super(MyAdmin, self).changelist_view(request, extra_context=extra_context)

另一种方法是在将控制权传递给父p方法之前将changelist_view URL参数注入请求中(但这需要复制请求)。 修改Wouter's solution实际上非常简单

答案 1 :(得分:0)

您可以更改change_list模板(pagination块)以显示{{page.last}}

https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/change_list.html