class Role(Base):
    __tablename__ = 'role'
__table_args__ = {'autoload': True, 'useexisting': True}


class Procedure(Base):
    __tablename__ = 'procedure'
__table_args__ = sqlalchemy.ForeignKeyConstraint(['consult_role_uid'], [
    'role.role_uid']), sqlalchemy.ForeignKeyConstraint(['inform_role_uid'],
    ['role.role_uid']), {'autoload': True, 'useexisting': True}
Procedure.consult_role = sqlalchemy.orm.relationship(Role, primaryjoin=
    'Procedure.consult_role_uid==Role.role_uid', foreign_keys=Role.role_uid)
sqlalchemy: joining to the same table multiple times using declarative and reflection