Python SQLAlchemy如何在多对多关系中从关联表中获取列值

Python SQLAlchemy如何在多对多关系中从关联表中获取列值,python,sqlalchemy,many-to-many,flask-sqlalchemy,Python,Sqlalchemy,Many To Many,Flask Sqlalchemy,我有播放列表和曲目类,并为播放列表和曲目分配外键。一切正常当我想要获取播放列表曲目时,我使用Playlist.tracks。但现在我还需要得到播放列表的“id”。如何从关联表中获取“id”或任何额外列 playlistsTracks = db.Table('tbl_test_playlisttracks', db.Column('id', db.Integer, primary_key=True), db.Colum

我有播放列表和曲目类,并为播放列表和曲目分配外键。一切正常当我想要获取播放列表曲目时,我使用Playlist.tracks。但现在我还需要得到播放列表的“id”。如何从关联表中获取“id”或任何额外列

playlistsTracks = db.Table('tbl_test_playlisttracks',
                    db.Column('id', db.Integer, primary_key=True),
                    db.Column('playlist_id', db.Integer, db.ForeignKey('tbl_test_playlists.id', ondelete='CASCADE')),
                    db.Column('track_id', db.Integer, db.ForeignKey('tbl_tracks.id'))
                    )



class Track(db.Model):
__tablename__ = 'tbl_tracks'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
audio_url = db.Column(db.Text)
movie_id = db.Column(db.Integer)
entry = db.relationship('Playlist', secondary=playlistsTracks, backref=db.backref('tracks', lazy='dynamic'))



class Playlist(db.Model):
__tablename__ = 'tbl_test_playlists'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
user_id = db.Column(db.String(255))
current_rev = db.Column(db.Integer, default=0)


其他实体播放列表也一样

请参阅。这和从关联表中访问额外数据的场景是一样的。在读了这篇文章几个小时后,我终于解决了我的问题,得到了我想要的任何东西。thanx buddy.@ZohaibGhafoorBaloch如果您能在这里找到您的解决方案,那就太好了。请您在SQLAlchmey中添加一个解释表类与模型类不同。因此,如果您想将一个表类(关联表)与一个模型类联接,那么只需联接,sql alchemy将使用与这两个表关联的外键。第二个示例只是演示如何根据问题中的要求过滤关联表的列“id”。
db.session.query(playlistsTracks).join(Track).all()
db.session.query(playlistsTracks.c.id).join(Track).all()