Flask_sqlAlchemy 1215, 'Cannot add f oreign key constraint' 如何解决

本文介绍在使用Flask的Migrate模块时如何正确设置外键,包括字段唯一性、主键字段长度一致性的要求,以及在修改Model后如何删除旧迁移文件和数据库表,重新进行迁移的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看代码:

这是model中的内容

这是基础表

使用flask的 migrate模块时,如果需要建立外键,那么就需要将基础表中与其他表形成主外键关系的字段保证唯一,

一般用unique与primary key进行标记

还需要外键建立的字段长度与主键保持一致。

更改好model后,删除掉之前建立的迁移文件与数据库中已经建立的表,重新进行迁移,步骤如下

1.删除project内的migrations文件夹

2.python manager.py db init

3.python manager.py db migrate -message "first"

4.python manager.py db upgrade

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值