File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 11from __future__ import annotations
22
3- from typing import Optional , TypeVar
3+ from typing import Any , Optional , TypeVar
44
55from sqlalchemy .orm import Query
66from sqlalchemy .sql import Select
@@ -16,11 +16,18 @@ def paginate_query(query: T, params: AbstractParams) -> T:
1616 return query .limit (raw_params .limit ).offset (raw_params .offset )
1717
1818
19+ def _to_dict (obj : Any ) -> Any :
20+ try :
21+ return obj ._asdict ()
22+ except AttributeError :
23+ return obj
24+
25+
1926def paginate (query : Query , params : Optional [AbstractParams ] = None ) -> AbstractPage :
2027 params = resolve_params (params )
2128
2229 total = query .count ()
23- items = paginate_query (query , params ). all ()
30+ items = [ _to_dict ( item ) for item in paginate_query (query , params )]
2431
2532 return create_page (items , total , params )
2633
You can’t perform that action at this time.
0 commit comments