Index: list_detail.py
===================================================================
--- list_detail.py	(revision 5468)
+++ list_detail.py	(working copy)
@@ -7,7 +7,7 @@
 def object_list(request, queryset, paginate_by=None, page=None,
         allow_empty=False, template_name=None, template_loader=loader,
         extra_context=None, context_processors=None, template_object_name='object',
-        mimetype=None):
+        mimetype=None, reverse_pagination=False):
     """
     Generic list of objects.
 
@@ -43,9 +43,15 @@
     if extra_context is None: extra_context = {}
     queryset = queryset._clone()
     if paginate_by:
-        paginator = ObjectPaginator(queryset, paginate_by)
+        if reverse_pagination:
+            paginator = ObjectPaginator(queryset, paginate_by, paginate_by - 1)
+        else:
+            paginator = ObjectPaginator(queryset, paginate_by)
         if not page:
-            page = request.GET.get('page', 1)
+            if reverse_pagination:
+                page = request.GET.get('page', paginator.pages)
+            else:
+                page = request.GET.get('page', 1)
         try:
             page = int(page)
             object_list = paginator.get_page(page - 1)
@@ -54,6 +60,8 @@
                 object_list = []
             else:
                 raise Http404
+        if reverse_pagination:
+            object_list = list(reversed(list(object_list)))
         c = RequestContext(request, {
             '%s_list' % template_object_name: object_list,
             'is_paginated': paginator.pages > 1,
