add secondary sort_key when using order_by
and paginate
at the same time (#7225)
This commit is contained in:
parent
986fd5bfc6
commit
2fe2e350ce
@ -178,11 +178,20 @@ class DatasetDocumentListApi(Resource):
|
|||||||
.subquery()
|
.subquery()
|
||||||
|
|
||||||
query = query.outerjoin(sub_query, sub_query.c.document_id == Document.id) \
|
query = query.outerjoin(sub_query, sub_query.c.document_id == Document.id) \
|
||||||
.order_by(sort_logic(db.func.coalesce(sub_query.c.total_hit_count, 0)))
|
.order_by(
|
||||||
|
sort_logic(db.func.coalesce(sub_query.c.total_hit_count, 0)),
|
||||||
|
sort_logic(Document.position),
|
||||||
|
)
|
||||||
elif sort == 'created_at':
|
elif sort == 'created_at':
|
||||||
query = query.order_by(sort_logic(Document.created_at))
|
query = query.order_by(
|
||||||
|
sort_logic(Document.created_at),
|
||||||
|
sort_logic(Document.position),
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
query = query.order_by(desc(Document.created_at))
|
query = query.order_by(
|
||||||
|
desc(Document.created_at),
|
||||||
|
desc(Document.position),
|
||||||
|
)
|
||||||
|
|
||||||
paginated_documents = query.paginate(
|
paginated_documents = query.paginate(
|
||||||
page=page, per_page=limit, max_per_page=100, error_out=False)
|
page=page, per_page=limit, max_per_page=100, error_out=False)
|
||||||
|
Loading…
Reference in New Issue
Block a user