gpt4 book ai didi

python - SQLAlchemy 如何从多对多关系的关联表中获取列值

转载 作者:行者123 更新时间:2023-12-05 06:40:54 27 4
gpt4 key购买 nike

我有播放列表和轨道类,并将外键分配给播放列表轨道。当我想获取播放列表轨道时一切正常,我使用 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)

最佳答案

db.session.query(playlistsTracks).join(Track).all()

db.session.query(playlistsTracks.c.id).join(Track).all()

其他实体播放列表也一样

关于python - SQLAlchemy 如何从多对多关系的关联表中获取列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com