Я хочу создать связь между динамиком и записями. Спикер может иметь несколько записей
но была показана ошибка ниже:
sqlalchemy.exc.InvalidRequestError: класс не имеет сопоставленного столбца с именем «speaker_id»
Модель динамика:
class Speaker(Base):
__tablename__ = 'speakers'
id = db.Column(db.Integer, primary_key=True)
cin = db.Column(db.String(8), unique = True)
nom = db.Column(db.String(64))
prenom = db.Column(db.String(64))
adresse = db.Column(db.String(120))
datedn = db.Column(db.String(20))
genre = db.Column(db.String(64))
phone = db.Column(db.Boolean, default=False)
profession = db.Column(db.String(120))
records = db.relationship('Record', backref="owner", primaryjoin="Speaker.id==Record.speaker_id")
created = db.Column(db.DateTime, default=datetime.datetime.utcnow)
Рекордная модель:
class Record(Base):
__tablename__ = 'record'
id = db.Column(db.Integer, primary_key=True)
path = db.Column(db.String(500))
created = db.Column(db.DateTime, default=datetime.datetime.utcnow)
speaker_id = db.column(db.Integer, db.ForeignKey('speakers.id'))
Я пробовал отношения без primaryjoin
, но у меня была эта ошибка:
sqlalchemy.exc.NoForeignKeysError: Не удалось определить условие соединения между родительскими и дочерними таблицами в отношениях Speaker.records — нет внешних ключей, связывающих эти таблицы. Убедитесь, что ссылающиеся столбцы связаны с ForeignKey или ForeignKeyConstraint, или укажите выражение 'primaryjoin'.
что мне здесь не хватает?