From 50dd8fae41becb8fb85e399aa826c6f6fc72a741 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Wed, 26 Feb 2025 11:52:44 +0800 Subject: [PATCH] fix: Paragraph list unsorted (#2411) --- apps/dataset/serializers/document_serializers.py | 10 ++++++++-- apps/dataset/serializers/paragraph_serializers.py | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index ad9199a52..b8c013418 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -712,7 +712,10 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): self.is_valid(raise_exception=True) query_set = QuerySet(model=Document) query_set = query_set.filter(**{'id': self.data.get("document_id")}) - return native_search(query_set, select_string=get_file_content( + return native_search({ + 'document_custom_sql': query_set, + 'order_by_query': QuerySet(Document).order_by('-create_time', 'id') + }, select_string=get_file_content( os.path.join(PROJECT_DIR, "apps", "dataset", 'sql', 'list_document.sql')), with_search_one=True) def edit(self, instance: Dict, with_valid=False): @@ -1098,7 +1101,10 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): if len(document_model_list) == 0: return [], dataset_id query_set = query_set.filter(**{'id__in': [d.id for d in document_model_list]}) - return native_search(query_set, select_string=get_file_content( + return native_search({ + 'document_custom_sql': query_set, + 'order_by_query': QuerySet(Document).order_by('-create_time', 'id') + }, select_string=get_file_content( os.path.join(PROJECT_DIR, "apps", "dataset", 'sql', 'list_document.sql')), with_search_one=False), dataset_id diff --git a/apps/dataset/serializers/paragraph_serializers.py b/apps/dataset/serializers/paragraph_serializers.py index 2752d4f3d..3a63fd95c 100644 --- a/apps/dataset/serializers/paragraph_serializers.py +++ b/apps/dataset/serializers/paragraph_serializers.py @@ -663,6 +663,7 @@ class ParagraphSerializers(ApiMixin, serializers.Serializer): **{'title__icontains': self.data.get('title')}) if 'content' in self.data: query_set = query_set.filter(**{'content__icontains': self.data.get('content')}) + query_set.order_by('-create_time', 'id') return query_set def list(self):