修复 Django 分页 UnorderedObjectListWarning 报错

Posted on Wed, 25 Dec 2024 11:07:36 +0800 by LiangMingJian


BUG 描述

Django 分页时出现报错。

UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'sign.models.Guest'> QuerySet.paginator = Paginator(guest_list,5)

Resolution

这是因为 Django 分页是依照排序进行的,而未排序时进行分页便会发生该报错。

我们需要定位到分页依据的数据,然后对该数据进行排序。

paginator = Paginator(gList, 5)
gList = G.objects.all().order_by('id')