SQLAlchemy:在没有方向的情况下创建多对多关系

时间:2016-05-01 13:17:49

标签: python sql sqlalchemy flask-sqlalchemy

下面我从烧瓶Megatutorial中复制了一个示例,用户可以关注其他用户,其他用户也可以关注。我的问题是如何修改它,以便每个用户都具有“连接”属性,该属性返回您关注的所有用户或关注您的用户?基本上消除了跟随您的用户的用户之间的分离。

以下是该关系的表格

followers = db.Table('followers',
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)

这是关系的定义

followed = db.relationship('User',
                           secondary=followers, 
                           primaryjoin=(followers.c.follower_id == id), 
                           secondaryjoin=(followers.c.followed_id == id), 
                           backref=db.backref('followers', lazy='dynamic'), 
                           lazy='dynamic')

0 个答案:

没有答案