【发布时间】:2018-03-31 15:59:28
【问题描述】:
我正在尝试与用户-组-角色表结构集成,其中用户可以属于许多组并且在每个组中具有多个角色。
我发现了一个与此类似的问题,但它不允许多个角色:Many-to-many declarative SQLAlchemy definition for users, groups, and roles
我有以下表结构,并希望能够通过以下方式访问角色:user.groups[0].roles
class Role(Base):
__tablename__ = 'roles'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(Unicode(16), unique=True)
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(Unicode(16), unique=True)
class Group(Base):
__tablename__ = 'groups'
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(Unicode(16), unique=True)
class UserGroup(Base):
__tablename__ = 'user_group_role'
id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'), nullable=False)
group_id = Column(Integer, ForeignKey('groups.id', ondelete='CASCADE'), nullable=False)
role_id = Column(Integer, ForeignKey('roles.id', ondelete='CASCADE'), nullable=False)
【问题讨论】:
标签: python sql sqlalchemy many-to-many