Browse Source

fix #657: gotcha with postgresql default order

Rafał Pitoń 8 years ago
parent
commit
8b31eb25ce
1 changed files with 2 additions and 0 deletions
  1. 2 0
      misago/core/pgutils.py

+ 2 - 0
misago/core/pgutils.py

@@ -52,6 +52,7 @@ def batch_update(queryset, step=50):
     """
     """
     Util because psycopg2 iterators aren't really memory effective
     Util because psycopg2 iterators aren't really memory effective
     """
     """
+    queryset = queryset.order_by('pk')
     paginator = Paginator(queryset, step)
     paginator = Paginator(queryset, step)
     for page_number in paginator.page_range:
     for page_number in paginator.page_range:
         for obj in paginator.page(page_number).object_list:
         for obj in paginator.page(page_number).object_list:
@@ -63,6 +64,7 @@ def batch_delete(queryset, step=50):
     Another util cos paginator goes bobbins when you are deleting
     Another util cos paginator goes bobbins when you are deleting
     """
     """
     queryset_exists = True
     queryset_exists = True
+    queryset = queryset.order_by('pk')
     while queryset_exists:
     while queryset_exists:
         for obj in queryset[:step]:
         for obj in queryset[:step]:
             yield obj
             yield obj