вставить значения в таблицу ассоциаций SQLAlchemy - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть следующие модели: (SQLAlchemy), которые моделируют отношения между исполнителями и местами, где они выступают на

#----------------------------------------------------------------------------#
# Models.
#----------------------------------------------------------------------------#

shows = db.Table('shows',
    db.Column('id', db.Integer, primary_key=True),
    db.Column('artist_id', db.Integer, db.ForeignKey('artist.id'), primary_key=True),
    db.Column('venue_id', db.Integer, db.ForeignKey('venue.id'), primary_key=True),
    db.Column('start_time', db.DateTime, nullable=False, default=datetime.utcnow)
)

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))


    artists = db.relationship('Artist', secondary=shows,
      backref=db.backref('venues', 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.String(120))
    image_link = db.Column(db.String(500))
    facebook_link = db.Column(db.String(120))

Мой вопрос заключается в том, как можно вставить строки в таблицу вставки ассоциаций (показывает), используя SQLAlchemy синтаксис? или мне лучше сделать отдельную модель (класс) с отношениями с артистами и моделями мест, сделав их детьми родительских шоу?

...