Finally got order_by fixed so sorting actually works properly with relationships and "identifier."
This commit is contained in:
parent
8100d221a1
commit
f47fb6b505
6 changed files with 179 additions and 18 deletions
|
|
@ -5,6 +5,7 @@ from flask import Blueprint, request, render_template, abort, make_response
|
|||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import scoped_session
|
||||
from sqlalchemy.inspection import inspect
|
||||
from sqlalchemy.sql.elements import UnaryExpression
|
||||
from sqlalchemy.sql.sqltypes import Integer, Boolean, Date, DateTime, Float, Numeric
|
||||
|
||||
from ..dsl import QuerySpec
|
||||
|
|
@ -115,7 +116,7 @@ def make_fragments_blueprint(db_session_factory, registry: Dict[str, Any], *, na
|
|||
page = request.args.get("page", type=int) or 1
|
||||
per_page = request.args.get("per_page", type=int) or 20
|
||||
|
||||
expand = _collect_expand_from_paths(fields)
|
||||
expand = _collect_expand_from_paths(fields + ([sort.split(":")[0]] if sort else []))
|
||||
spec = QuerySpec(filters=filters, order_by=[sort] if sort else [], page=page, per_page=per_page, expand=expand)
|
||||
s = session(); svc = CrudService(s, default_eager_policy)
|
||||
rows, _ = svc.list(Model, spec)
|
||||
|
|
@ -134,7 +135,7 @@ def make_fragments_blueprint(db_session_factory, registry: Dict[str, Any], *, na
|
|||
sort = request.args.get("sort")
|
||||
fields_csv = request.args.get("fields_csv") or "id,name"
|
||||
fields = _paths_from_csv(fields_csv)
|
||||
expand = _collect_expand_from_paths(fields)
|
||||
expand = _collect_expand_from_paths(fields + ([sort.split(":")[0]] if sort else []))
|
||||
|
||||
spec = QuerySpec(filters=filters, order_by=[sort] if sort else [], page=page, per_page=per_page, expand=expand)
|
||||
s = session(); svc = CrudService(s, default_eager_policy)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue