我在 sqlalchemy 中定义了下面的表模式,其中 user_id 是引用用户的 user_id 表的外键
class Manufacturer(Model):
__tablename__='Manufacturer'
Manufacturer_id=Column(Integer,primary_key=True,autoincrement=True)
name=Column(String(length=100),nullable=False)
description=Column(String(length=1000),nullable=False)
user_id=Column(Integer,ForeignKey(User.user_id),nullable=False)
但是当在 sqlite db 中创建表时,即使用户表没有 userid 值,外键也不会添加到表中,并且条目也会被插入
我搜索了这个问题,发现为了解决这个问题我们需要设置PRAGMA foreign_keys = ON;
但我无法弄清楚如何使用我当前的数据库配置来完成此操作
我有下面的代码来创建引擎并使用 SQL 添加记录
发动机配置:-
engine=create_engine(SQLALCHEMY_DATABASE_URI)
_Session=orm.sessionmaker(autocommit=False,autoflush=True,bind=engine)
session=orm.scoped_session(_Session)
在表中添加条目的代码
man_details=Manufacturer(**param)
session.add(man_details)
session.commit()
请建议我如何从 python-Flask-SQLAlchemy 为 SQLlite3 中创建的表设置外键约束