The current implementation from paginate + Query (sqlalchemy) doesn't allow ordering by
attributes/properties from related objects.
occupations_table = Table('occupations', metadata,
Column('occupation_id', Integer, primary_key=True),
Column('occupation_name', String(20)),
)
users_table = Table('users', metadata,
Column('user_id', Integer, primary_key=True),
Column('user_name', String(20)),
Column('occupation_id', Integer, ForeignKey("occupations.occupation_id")),
)
addresses_table = Table('addresses', metadata,
Column('address_id', Integer, primary_key=True),
Column('user_id', Integer, ForeignKey("users.user_id")),
Column('street', String(50)),
Column('city', String(40))
)
class Occupation(object):
pass
class User(object):
pass
class Address(object):
pass
mapper(Occupation, occupations_table)
mapper(User, users_table, properties={
'occupation' : relation(Occupation, lazy=False)
})
mapper(Address, addresses_table, properties={
'user' : relation(User, backref='addresses', lazy=False)
})