From a32036ba8cf56a7c81de771388a03ff754aa0c2f Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 16 Dec 2024 20:00:47 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8(backend)=20fix=20Django=20Unordere?= =?UTF-8?q?dObjectListWarning=20on=20User?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found this solution googling on Stack Overflow. Without a default ordering on a model, Django raises a warning, that pagination may yield inconsistent results. Please feel free to challenge my fix. --- src/backend/core/api/viewsets.py | 1 + .../core/migrations/0013_alter_user_options.py | 17 +++++++++++++++++ src/backend/core/models.py | 1 + 3 files changed, 19 insertions(+) create mode 100644 src/backend/core/migrations/0013_alter_user_options.py diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index b217194d..7dbee05d 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -140,6 +140,7 @@ class UserViewSet( permission_classes = [permissions.IsSelf] queryset = models.User.objects.all() serializer_class = serializers.UserSerializer + ordering = ["-created_at"] def get_queryset(self): """ diff --git a/src/backend/core/migrations/0013_alter_user_options.py b/src/backend/core/migrations/0013_alter_user_options.py new file mode 100644 index 00000000..2766288f --- /dev/null +++ b/src/backend/core/migrations/0013_alter_user_options.py @@ -0,0 +1,17 @@ +# Generated by Django 5.1.4 on 2025-01-13 22:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0012_make_document_creator_and_invitation_issuer_optional'), + ] + + operations = [ + migrations.AlterModelOptions( + name='user', + options={'ordering': ('-created_at',), 'verbose_name': 'user', 'verbose_name_plural': 'users'}, + ), + ] diff --git a/src/backend/core/models.py b/src/backend/core/models.py index f558b0b1..dcc50eb0 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -199,6 +199,7 @@ class User(AbstractBaseUser, BaseModel, auth_models.PermissionsMixin): class Meta: db_table = "impress_user" + ordering = ("-created_at",) verbose_name = _("user") verbose_name_plural = _("users")