diadia

興味があることをやってみる。自分のメモを残しておきます。

UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list

以下の注意メッセージが表示される

UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list:******

解消方法

参考にしたところ:https://stackoverflow.com/questions/44033670/python-django-rest-framework-unorderedobjectlistwarning/44036414
自分の場合はdrfを利用せずにこのメッセージが出てきた。このエラーはインスタンスのリストの並び順が固定されいなく、フワフワしているためページネーションでうまくオブジェクトを表示することができないということらしい。
だからオブジェクトリストを特定のルールの並び順にして作成すれば良いとのことだった。実際に自分はProduct.objects.filter(category__startswith=c)としていた。

 

object_list = Product.objects.filter(category__startswith=c).order_by("-id")

これで注意メッセージが出なくなった。