I have a simple query with a group_by and count(), and I'd like to pass this to webhelpers.paginate for display:
def referrers(self): s = select([m.hit_table.c.id, m.hit_table.c.referer, func.count (m.Hit.referer).label('count')], from_obj = [m.hit_table], group_by = [m.Hit.referer], order_by = 'count desc') query = meta.Session.query(m.Hit).from_statement(s) c.paginator = paginate.Page( query, page = int(request.params.get('page', 1)), items_per_page = 50, ) return render('/derived/hits/referrer_list.html') The sql generated by this is fine: SELECT hit.id AS hit_id, hit.referer AS hit_referer, count (hit.referer) AS count FROM hit GROUP BY hit.referer ORDER BY count desc and the results are correct. When I run this, I get: Module sqlalchemy.orm.query:1956 in setup_context << context.froms.append(self.selectable) if context.order_by is False and self.mapper.order_by: context.order_by = self.mapper.order_by >> if context.order_by is False and self.mapper.order_by: AttributeError: 'QueryContext' object has no attribute 'order_by' This evidently has nothing to do with the query's order_by clause since I get the same error if I remove it. If I execute the query and pass the results to paginate: results = query.all() c.paginator = paginate.Page( results, page = int(request.params.get('page', 1)), items_per_page = 50, ) I get: AttributeError: 'Hit' object has no attribute 'count' Which I guess makes sense, since I don't have that defined in my class. What am I doing wrong? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---