Ticket #1318: sqla1.diff

File sqla1.diff, 0.9 kB (added by alastair, 2 years ago)

Add support for SQLAlchemy "InstrumentedList?"

  • turbogears/paginate.py

    old new  
    8383                        var_data = var_data.orderBy(order_cols) 
    8484                    else: 
    8585                        var_data = var_data.order_by(order_cols) 
    86             elif isinstance(var_data, list): 
     86            elif isinstance(var_data, list) \ 
     87                 or (sqlalchemy and 
     88                     isinstance(var_data, 
     89                                sqlalchemy.orm.attributes.InstrumentedList)): 
    8790                row_count = len(var_data) 
    8891            else: 
    89                 raise 'Variable is not a list or SelectResults' 
     92                raise 'Variable is not a list or SelectResults (%s)' % type(var_data) 
    9093 
    9194            offset = (page-1) * limit_ 
    9295            page_count = int(ceil(float(row_count)/limit_))