【发布时间】:2023-03-21 13:40:01
【问题描述】:
我正在尝试基于多对多关系获得这样的数据结构。
例如,有一个带有Users 的表和一个带有Roles 的表。一个用户可以有很多角色。
user_roles = db.Table(
'user_roles',
db.Column('user_id', db.Integer, db.ForeignKey(User.id), primary_key=True),
db.Column('role_id', db.Integer, db.ForeignKey(Role.id), primary_key=True)
)
我想要得到的是这样的数据结构,其中Role 是键,后面的列表是该角色的所有用户,像这样
{
'Write_Articles': ['<User Corvid>, <User Crow>'],
'Delete_Articles': ['<User Corvid>'],
'Change_Tags': ['<User Crow>', '<User Jeff>'],
'Kitty_Cat': ['<User Kitty>']
}
如何在 SQLAlchemy 中实现这一点?
【问题讨论】:
-
如果您已经建立了多对多关系,这应该是相当简单的,不是吗? (
{r: r.users for r in Role.query}) 或者您正在寻找如何建立多对多关系?
标签: python python-3.x flask sqlalchemy flask-sqlalchemy