django1.1.1与django3.2.0在模板语言转数据库的区别

一、外键建立要求:

1.要创建的外键的数据表A(主表)和关联表B(从表)必须采用同样的引擎如InnoDB存储引擎

2.要创建的A表字段数据类型必须和B表对应的字段的数据类型保持一致,包括长度

二、django1.1.1与django3.2.0区别

对于django3.2.0,默认是BIgAutoField创立主键,这在mysql中表示为bigint,可以理解为最大int长度为所示值(比如例子中的20),这种值增大了数据库的可扩展性,但是也加大了数据库的存储量。那么此时如果数据库中的表并不全是在django中采用模板语言创建的。

(1)show create table sbc(查看你自己建的表的字段情况)

(2)show engines;(查询默认引擎等情况)

(3)show engine innodb status;(可以查看引擎innodb的工作状态,比如外键错误信息也可以看到)

 此时我们主键为int的表与主键为bigint的表建立外键关系时,就会出现无法设立外键的情况。

django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值