如何在 SQLAlchemy 中建立多对多关系?

How to establish a many to many relationship in SQLAlchemy?

我正在尝试构建一个简单的应用程序,用户可以在其中关注其他用户,因此,我有一个 table“用户”,其中包含所有用户的信息,并且由于一个用户可以关注许多用户,而且用户可以有很多关注者我们得到多对多关系,所以我创建了一个链接 table。这是我的代码:

如您所见,“UsersFollowing”table 具有复合主键,该主键是根据“用户”table(用户,以及关注者)的外键构建的。

现在我想得到以下内容:“给定一个用户 ID return 所有跟随的用户”。

我是 SQLAlchemy 的新手,我不知道如何得到结果。

如果您使用的是 SQLAlchemy ORM,您应该能够通过发出连接和过滤来获取用户:

db_session.query(User)\
    .join(UsersFollowing, User.id == UsersFollowing.user_following_id)\
    .filter(UsersFollowing.user_id == <userid>)