gpt4 book ai didi

python - SQLAlchemy 中的外键约束

转载 作者:太空狗 更新时间:2023-10-30 01:24:07 26 4
gpt4 key购买 nike

我正在使用 SQLAlchemy 的 ORM 端,我已经定义了我的一个列与另一个模型有外键关系,使用:

Base = declarative_base()
class Model1(Base):
__tablename__ = 'm1'
Name = Column(String, primary_key = True)
info = Column(String)

class Model2(Base):
__tablename__ = 'm2'
Name = Column(String, primary_key = True)
info = Column(String)
other_model = Column(String, ForeignKey('m1.Name'))

但是,我在 other_model 中放入什么似乎并不重要属性,似乎很乐意将其提交到数据库,即使没有 Model1具有 Name 的实例.

最佳答案

看起来答案在我使用的数据库 (SQLite) 中,而不是在 SQLAlchemy 中。 SQLite 版本 <3.6.1 (AFAIK) 不支持外键约束。

因此答案与 this answer on foreign keys and SQLAlchemy 非常相似.

因为我使用的是 Windows,所以我能够转到 the pysqlite2 page , 打包的安装程序有 3.7.6.2 版本的 sqlite,然后最后的实现是由 this SQLAlchemy page on sqlite engines and dialects 帮助的.这SO question也与升级过程相关。

最后,SQLite 引擎在决定是否强制执行外键约束时有点喜怒无常,this SO question在强制执行外键时非常有用。

关于python - SQLAlchemy 中的外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com