Flask-SQLAlchemy - 与列 x 相关联的外键找不到 table y 用于生成目标列 y 的外键
Flask-SQLAlchemy - Foreign key associated with column x could not find table y with which to generate a foreign key to target column y
出于某种原因,当我试图将数据插入 Postgres 时,我收到一条消息说我的 table 不存在。但是,当我 运行 \dt
时,table 出现在 Postgres CLI 中。此外,当我 运行 select * from rates;
时,我看到 table.
中存在数据
from app import db
class Car(db.Model):
__tablename__ = 'car'
...
rates_id = db.Column(db.Integer, db.ForeignKey('rates.rates_id'), nullable=True)
owner = db.relationship('Owner', backref='car', lazy=True)
class Rates(db.Model):
__tablename__ = 'rates'
rates_id = db.Column(db.Integer, primary_key=True)
...
cars = db.relationship('Car', backref='rates', lazy=True)
class Owner(db.Model):
...
@app.route('/add-car', methods=["POST"])
def add_car():
...
car = Car(...)
db.session.add(car)
owner = Owner(...)
db.session.add(owner)
db.session.commit()
上面显示了使用的模型和我试图达到的示例端点。该函数应该 add_car
将在 Car
和 Owner
中创建条目。此外,我希望 Car
模型中的 rates_id
为 null
(至少最初是这样)。
我得到的错误是:
Error: Foreign key associated with column 'car.rates_id' could not find table 'rates' with which to generate a foreign key to target column 'rates_id'
我看到的大多数与此问题相关的帖子都使用与我相同的一般准则。但是,也许我遗漏了一些使其无法正常工作的东西?
谢谢。
问题与我的代码无关,而与我的代码结构有关。 Here 是解决问题的 SO post。
-- api
---- 型号
-------- _ _ 初始化 _ _.py
------ Car.py
------ Rates.py
------ Owner.py
----路线
----表格
所以在 api/models/__init__.py
内,我添加了以下内容:
from .Car import Car
from .Rates import Rates
from .Owner import Owner
现在一切似乎都正常了。
干杯。
出于某种原因,当我试图将数据插入 Postgres 时,我收到一条消息说我的 table 不存在。但是,当我 运行 \dt
时,table 出现在 Postgres CLI 中。此外,当我 运行 select * from rates;
时,我看到 table.
from app import db
class Car(db.Model):
__tablename__ = 'car'
...
rates_id = db.Column(db.Integer, db.ForeignKey('rates.rates_id'), nullable=True)
owner = db.relationship('Owner', backref='car', lazy=True)
class Rates(db.Model):
__tablename__ = 'rates'
rates_id = db.Column(db.Integer, primary_key=True)
...
cars = db.relationship('Car', backref='rates', lazy=True)
class Owner(db.Model):
...
@app.route('/add-car', methods=["POST"])
def add_car():
...
car = Car(...)
db.session.add(car)
owner = Owner(...)
db.session.add(owner)
db.session.commit()
上面显示了使用的模型和我试图达到的示例端点。该函数应该 add_car
将在 Car
和 Owner
中创建条目。此外,我希望 Car
模型中的 rates_id
为 null
(至少最初是这样)。
我得到的错误是:
Error: Foreign key associated with column 'car.rates_id' could not find table 'rates' with which to generate a foreign key to target column 'rates_id'
我看到的大多数与此问题相关的帖子都使用与我相同的一般准则。但是,也许我遗漏了一些使其无法正常工作的东西?
谢谢。
问题与我的代码无关,而与我的代码结构有关。 Here 是解决问题的 SO post。
-- api
---- 型号
-------- _ _ 初始化 _ _.py
------ Car.py
------ Rates.py
------ Owner.py
----路线
----表格
所以在 api/models/__init__.py
内,我添加了以下内容:
from .Car import Car
from .Rates import Rates
from .Owner import Owner
现在一切似乎都正常了。
干杯。