From cc5658f0d13b0ed5e750aa38882213046feab89c Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Sat, 19 Mar 2022 13:29:21 +0300 Subject: [PATCH] Fix ordering --- fastapi_book_server/app/services/common.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fastapi_book_server/app/services/common.py b/fastapi_book_server/app/services/common.py index d153d98..1615414 100644 --- a/fastapi_book_server/app/services/common.py +++ b/fastapi_book_server/app/services/common.py @@ -125,7 +125,10 @@ class BaseSearchService(Generic[MODEL, QUERY], abc.ABC): if cls.SELECT_RELATED: queryset = queryset.select_related(cls.SELECT_RELATED) - return len(object_ids), await queryset.filter(id__in=limited_object_ids).all() + db_objects = await queryset.filter(id__in=limited_object_ids).all() + return len(object_ids), sorted( + db_objects, key=lambda o: limited_object_ids.index(o.id) + ) @classmethod async def get(cls, query: QUERY, redis: aioredis.Redis) -> Page[MODEL]: