Okay, I have another question related to this. Now that I have max_order defined, I want to do a query on it (give me the users whose max_order==5). My code is
max_orders_by_user = select([func.max(orders.c.order_id).label('order_id')], group_by=[orders.c.user_id]).alias('max_orders_by_user') max_orders = orders.select(orders.c.order_id==max_orders_by_user.c.order_id).alias('max_orders') mapper(User, users, properties={ 'orders':relation(class_mapper(Order), backref='user'), 'max_order':relation(mapper(Order, max_orders, non_primary=True), uselist=False), 'addresses':relation(mapper(Address, addresses), backref='user'), }) It seemed like if I labeled the column something unique in max_orders_by_user, then I should be able to use that in select_by, a la http://www.sqlalchemy.org/docs/datamapping.myt#datamapping_selectrelations_relselectby So I changed that to max_order_id and tried max_orders_by_user = select([func.max(orders.c.order_id).label('max_order_id')], group_by=[orders.c.user_id]).alias('max_orders_by_user') max_orders = orders.select(orders.c.order_id==max_orders_by_user.c.max_order_id).alias('max_orders') # mapper as above session.query(User).select_by(max_order_id=5) and got sqlalchemy.exceptions.InvalidRequestError: Cant locate property named 'max_order_id' I did get it to work with session.query(User).select(max_orders.c.order_id==5, from_obj=[max_orders]) Is there a way to do this with select_by? --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---