【问题标题】:Flask-SqlAlchemy Error with ForeignKey for Tables in different Models.py files [duplicate]不同Models.py文件中表的Flask-SqlAlchemy错误[重复]
【发布时间】:2018-02-13 19:50:48
【问题描述】:

我正在尝试创建两个表,每个表都来自不同的 models.py 文件。两个表之间有一个外键链接。

当下面的两个类在同一个 models.py 文件中时,我可以让它正常工作。但是,当我将它们放在单独的文件中时,我会收到错误消息。

如何调整它以使其按预期工作?我只能找到同一文件中的表的一对多关系示例。

表一代码:

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'

非常感谢

【问题讨论】:

    标签: python sqlalchemy flask-sqlalchemy


    【解决方案1】:

    通过在调用 db.create_all() 之前导入类来工作

    参考:Flask Sqlalchemy : relationships between different modules

    【讨论】:

    • 这对我不起作用。
    猜你喜欢
    • 2018-06-12
    • 1970-01-01
    • 2013-01-25
    • 2021-12-10
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 2013-08-30
    相关资源
    最近更新 更多