Я пытаюсь перенести данные из моих шоу в атрибут artist.past_shows. Я использую flask_sqlalchemy. Я получаю сообщение об ошибке:
AttributeError: 'BaseQuery' object has no attribute 'past_shows'
Я не совсем понимаю, как это сделать. Я пытаюсь сделать такой запрос:
artist = Artist.query.join(Artist.past_shows).filter(Artist.id==artist_id, Show.artist_id==artist_id)
Это мои модели:
class Venue(db.Model):
__tablename__ = 'venue'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String())
city = db.Column(db.String(120))
state = db.Column(db.String(120))
address = db.Column(db.String(120))
phone = db.Column(db.String(120))
image_link = db.Column(db.String(500))
facebook_link = db.Column(db.String(120))
seeking_talent = db.Column(db.Boolean, default=False)
seeking_description = db.Column(db.String())
genres = db.Column(db.ARRAY(db.String))
website = db.Column(db.String())
pastshows = db.relationship('Show', backref='pastshows', lazy=True)
class Artist(db.Model):
__tablename__ = 'artist'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
city = db.Column(db.String(120))
state = db.Column(db.String(120))
phone = db.Column(db.String(120))
genres = db.Column(db.ARRAY(db.String))
image_link = db.Column(db.String(500))
facebook_link = db.Column(db.String(120))
seeking_venue = db.Column(db.Boolean, nullable=False, default=False)
seeking_description = db.Column(db.String())
website = db.Column(db.String())
past_shows = db.relationship('Show', backref='past_shows', lazy=True)
class Show(db.Model):
__tablename__ = 'show'
id = db.Column(db.Integer, primary_key=True)
venue_id = db.Column(db.Integer, db.ForeignKey('venue.id'), nullable=False)
artist_id = db.Column(db.Integer, db.ForeignKey('artist.id'), nullable=False)
artist_name = db.Column(db.String())
venue_name = db.Column(db.String())
venue_image = db.Column(db.String())
start_time = db.Column(db.DateTime(), nullable=False)
Как мне получить данные шоу для идентификатора исполнителя, который я запрашиваю у исполнителя .past_shows?