【发布时间】:2020-09-18 12:22:53
【问题描述】:
我想在演讲者和唱片之间建立关系。 一个演讲者可以有多个记录
但显示以下错误:
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”表达式。
我在这里错过了什么?
【问题讨论】:
标签: python flask flask-sqlalchemy