с собственности на

ользую декларативную SQLAlchemy и у меня есть три модели:Role, Permission, а такжеRolePermission, В моемRole Модель у меня следующая:

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)

Теперьpermissions Объявление работает нормально, а разрешения, связанные с ролью, отсортированы, как я и ожидал (по имени). Тем не мение,permissionLinks завершается со следующей ошибкой:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', '[42000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Не удалось связать многоэлементный идентификатор "ROLES.NAME". (4104) ( SQLExecDirectW); [42000] [Microsoft] [Драйвер ODBC SQL Server] [Оператор (ы) SQL Server] не удалось подготовить. (8180) ') u'SELECT [ROLES_PERMISSIONS]. [ROLE_ID] AS [ROLES_PERMISSIONS_ROLE_ID], [ROLES_PERMISSIONS * ЗАКАЗАТЬ [РОЛЕС]. [ИМЯ] '(19,)

Проблема в том, чтоRole не присоединяется, поэтому он не может сортировать поRole.name, Я пытался указатьprimaryjoin=id == RolePermission.id1Но это, похоже, ничего не изменило. Как я могу указать соединение для этого отношения так, чтобы я мог сортировать по полю в одной из соединенных таблиц (а именно,Role.name)?

Ответы на вопрос(2)

Ваш ответ на вопрос