Skip to content

Commit c6c3799

Browse files
authored
fix: the error in obtaining the document list (#2406)
1 parent 62ae8d1 commit c6c3799

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

apps/dataset/serializers/document_serializers.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import openpyxl
2020
from celery_once import AlreadyQueued
2121
from django.core import validators
22-
from django.db import transaction
22+
from django.db import transaction, models
2323
from django.db.models import QuerySet, Count
2424
from django.db.models.functions import Substr, Reverse
2525
from django.http import HttpResponse
@@ -28,7 +28,7 @@
2828
from rest_framework import serializers
2929
from xlwt import Utils
3030

31-
from common.db.search import native_search, native_page_search
31+
from common.db.search import native_search, native_page_search, get_dynamics_model
3232
from common.event import ListenerManagement
3333
from common.event.common import work_thread_pool
3434
from common.exception.app_exception import AppApiException
@@ -443,11 +443,17 @@ def get_query_set(self):
443443
else:
444444
query_set = query_set.filter(status__iregex='^[2n]*$')
445445
order_by = self.data.get('order_by', '')
446+
order_by_query_set = QuerySet(model=get_dynamics_model(
447+
{'char_length': models.CharField(), 'paragraph_count': models.IntegerField(),
448+
"update_time": models.IntegerField(), 'create_time': models.DateTimeField()}))
446449
if order_by:
447-
query_set = query_set.order_by(order_by)
450+
order_by_query_set = order_by_query_set.order_by(order_by)
448451
else:
449-
query_set = query_set.order_by('-create_time', 'id')
450-
return query_set
452+
order_by_query_set = order_by_query_set.order_by('-create_time', 'id')
453+
return {
454+
'document_custom_sql': query_set,
455+
'order_by_query': order_by_query_set
456+
}
451457

452458
def list(self, with_valid=False):
453459
if with_valid:

apps/dataset/sql/list_document.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
SELECT * from (
12
SELECT
23
"document".* ,
34
to_json("document"."meta") as meta,
45
to_json("document"."status_meta") as status_meta,
56
(SELECT "count"("id") FROM "paragraph" WHERE document_id="document"."id") as "paragraph_count"
67
FROM
78
"document" "document"
9+
${document_custom_sql}
10+
) temp
11+
${order_by_query}

0 commit comments

Comments
 (0)