Changeset 3528
- Timestamp:
- 10/20/07 07:25:23 (9 months ago)
- Files:
-
- branches/1.1/CHANGELOG.txt (modified) (2 diffs)
- branches/1.1/turbogears/paginate.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.1/CHANGELOG.txt
r3526 r3528 15 15 * Ticket #1185: rollback SA transaction if a controller method fails, and it 16 16 has an exception_handler. 17 * sa_rwt (SQLAlchemy run with transaction) refactored to fix some corner 17 * sa_rwt (SQLAlchemy run with transaction) refactored to fix some corner 18 18 cases. 19 * Ticket #1508: fixed internal pagination ordering, avoiding a potential 19 * Ticket #1508: fixed internal pagination ordering, avoiding a potential 20 20 error when paginating Query objects (sqlalchemy) and ordering by 4 or more 21 21 columns. … … 23 23 patch assumed that Query objects have a _query attribute which holds the 24 24 query object, which is only true for SelectResults objects. 25 * Ticket #1591: Paginate now works with SQLAlchemy 0.4. 25 26 26 27 *Contributors* branches/1.1/turbogears/paginate.py
r3526 r3528 17 17 from sqlalchemy.ext.selectresults import SelectResults as SASelectResults 18 18 from sqlalchemy.orm.query import Query 19 # sqlalchemy 0.4.x turned SelectResults into a function that returns a Query 20 if isinstance(SASelectResults, types.FunctionType): 21 SASelectResults = None 19 22 except ImportError: 20 23 SASelectResults = None … … 181 184 paginate_instance = Paginate( 182 185 current_page=page, 183 limit=limit_, 184 pages=pages_to_show, 185 page_count=page_count, 186 input_values=input_values, 186 limit=limit_, 187 pages=pages_to_show, 188 page_count=page_count, 189 input_values=input_values, 187 190 order=order, 188 191 ordering=ordering, … … 217 220 class Paginate: 218 221 """class for variable provider""" 219 def __init__(self, current_page, pages, page_count, input_values, 222 def __init__(self, current_page, pages, page_count, input_values, 220 223 limit, order, ordering, row_count, var_name): 221 224 222 225 self.var_name = var_name 223 226 self.pages = pages … … 328 331 else: 329 332 ordering[sort_name][0] = -1 330 333 331 334 # re-sort dictionary 332 335 items = ordering.items() … … 339 342 def sql_get_column(colname, var_data): 340 343 """Return a column from var_data based on colname.""" 341 if isinstance(var_data, SelectResults):344 if SelectResults and isinstance(var_data, SelectResults): 342 345 col = getattr(var_data.sourceClass.q, colname, None) 343 346 344 elif isinstance(var_data, SASelectResults):347 elif SASelectResults and isinstance(var_data, SASelectResults): 345 348 col = getattr( 346 349 var_data._query.mapper.c, … … 348 351 None) 349 352 350 elif isinstance(var_data, Query):353 elif Query and isinstance(var_data, Query): 351 354 col = getattr( 352 355 var_data.mapper.c,