Ticket #1434: paginate.py.patch
| File paginate.py.patch, 1.7 kB (added by rejoc, 1 year ago) |
|---|
-
paginate.py
old new 15 15 # Can't depend on sqlalchemy being available. 16 16 import sqlalchemy 17 17 from sqlalchemy.ext.selectresults import SelectResults as SASelectResults 18 from sqlalchemy.orm.query import Query 18 19 except ImportError: 19 20 SASelectResults = None 20 21 sqlalchemy = None 22 Query = None 21 23 22 24 import turbogears 23 25 from turbogears.decorator import weak_signature_decorator … … 114 116 115 117 row_count = 0 116 118 if (SelectResults and isinstance(var_data, SelectResults)) or \ 117 (SASelectResults and isinstance(var_data, SASelectResults)): 119 (SASelectResults and isinstance(var_data, SASelectResults)) or \ 120 (Query and isinstance(var_data, Query)): 118 121 row_count = var_data.count() 119 122 if ordering: 120 123 # Build order_by list. … … 141 144 142 145 else: 143 146 raise StandardError( 144 'Variable is not a list or SelectResults (%s)' % type(147 'Variable is not a list or SelectResults or Query (%s)' % type( 145 148 var_data)) 146 149 147 150 offset = (page-1) * limit_ … … 306 309 if isinstance(var_data, SelectResults): 307 310 col = getattr(var_data.sourceClass.q, colname, None) 308 311 309 elif isinstance(var_data, SASelectResults) :312 elif isinstance(var_data, SASelectResults) or isinstance(var_data, Query): 310 313 col = getattr( 311 314 var_data._query.mapper.c, 312 315 colname[len(var_data._query.mapper.column_prefix or ''):],