This commit is contained in:
parent
3e50902f07
commit
4752ef19b2
|
@ -1,5 +1,6 @@
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from sqlalchemy import text
|
||||||
from sqlalchemy.orm import aliased
|
from sqlalchemy.orm import aliased
|
||||||
from sqlalchemy.sql.expression import and_, asc, case, desc, func, nulls_last, select
|
from sqlalchemy.sql.expression import and_, asc, case, desc, func, nulls_last, select
|
||||||
|
|
||||||
|
@ -318,12 +319,11 @@ def apply_sorting(q, options):
|
||||||
# Проверка, требуется ли сортировка по одному из статистических полей
|
# Проверка, требуется ли сортировка по одному из статистических полей
|
||||||
if order_str in ["rating", "comments_count", "last_reacted_at"]:
|
if order_str in ["rating", "comments_count", "last_reacted_at"]:
|
||||||
# Сортировка по выбранному статистическому полю в указанном порядке
|
# Сортировка по выбранному статистическому полю в указанном порядке
|
||||||
q = q.order_by(desc(order_str))
|
query_order_by = desc(text(order_str)) if options.get("order_by_desc", True) else asc(text(order_str))
|
||||||
query_order_by = desc(order_str) if options.get("order_by_desc", True) else asc(order_str)
|
|
||||||
# Применение сортировки с размещением NULL значений в конце
|
# Применение сортировки с размещением NULL значений в конце
|
||||||
q = q.order_by(nulls_last(query_order_by))
|
q = q.order_by(Shout.id, nulls_last(query_order_by))
|
||||||
else:
|
else:
|
||||||
q = q.order_by(Shout.published_at.desc())
|
q = q.order_by(Shout.id, Shout.published_at.desc())
|
||||||
|
|
||||||
return q
|
return q
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user