SQLAlchemy - order_by en la relación para unirse a la tabla

Estoy usando SQLAlchemy declarativa y tengo tres modelos:Role, Permission yRolePermission. En miRole modelo, tengo lo siguiente:

class Role(Base):
    name = Column(u'NAME', VARCHAR(50), nullable=False, unique=True)
    permissionLinks = relationship(RolePermission, backref="role", order_by=name)
    permissions = relationship(Permission, backref=backref("roles",
      order_by=name), secondary=RolePermission.__table__,
      order_by=Permission.name)

Ahora elpermissionsa declaración @ funciona bien y los permisos asociados con un rol se ordenan como espero (por nombre). Sin embargo,permissionLinks falla con el siguiente error:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', '[42000] [Microsoft] [ODBC SQL Server Driver] [SQL Server] El identificador de varias partes "ROLES.NAME" no se pudo vincular. (4104) (SQLExecDirectW); [42000] [Microsoft] [Controlador ODBC SQL Server] [SQL Server] No se pudieron preparar las declaraciones. (8180) ') u'SELECT [ROLES_PERMISSIONS]. [ROLE_ID] AS [ROLES_PERMISSIONS_ROLE_ID], [ ROLES_PERMISSIONS]. [PERMISSION_ID] AS [ROLES_PERMISSIONS_PERMISSION_ID], [ROLES_PERMISSIONS]. [IS_DENIED] AS [ROLES_PERMISSIONS_IS_DENIED] \ nFROM [ROLES_PERMISSIONS] \ nWHERM? ORDENAR POR [FUNCIONES]. [NOMBRE] '(19,)

El problema es eseRole no se está uniendo, por lo que no puede ordenar porRole.name. Traté de especificarprimaryjoin=id == RolePermission.id1, pero eso no pareció cambiar nada. ¿Cómo puedo especificar una unión en esta relación de modo que pueda ordenar por un campo en una de las tablas unidas (a saber,Role.name)?