我试图创建两个表,每个表来自不同的models.py文件。这两个表之间有一个外键链接。
当下面的两个类位于相同的models.py文件中时,我可以使它正常工作。但是,当我将它们放在单独的文件中时,我收到错误。
我如何调整它以使其按预期工作?我只能找到同一文件中表格的1对多关系示例。
表1代码:
class Person(db.Model):
__tablename__ = "Person"
__table_args__ = {'schema': 'example'}
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
addresses = db.relationship('Address', backref='person',
lazy='dynamic')
表2代码:
class Address(db.Model):
__tablename__ = "Address"
__table_args__ = {'schema': 'example'}
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(50))
person_id = db.Column(db.Integer, db.ForeignKey('example.Person.id'))
错误:
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'Address.person_id' could not find table 'example.Person' with which to generate a foreign key to target column 'id'
非常感谢
答案 0 :(得分:0)
在调用db.create_all()
之前导入类参考:Flask Sqlalchemy : relationships between different modules