在学习django2.1时遇到的问题和解决方法

1.

错误:

替换 auth_user 报 django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database ‘default’

解决:

删除数据库中 除了auth_user的其他表,然后再 执行以下两条语句

python manage.py makemigrations
python manage.py migrate 

2.

错误:

在根据 models生成数据库表时,报以下错误
在这里插入图片描述
解决:
在这里插入图片描述
在图中的第二行加上 on_delete=models.CASCADE 如果代码其他地方有 定义外键的(即 有models.ForeignKey这个),都要加上。
这是django 2.0后的改动,2.0前都是默认有这句话的,所以不用加,在django2.0后,定义外键和一对一关系的时候需要加 on_delete 选项,此参数为了避免两个表里的数据不一致问题,其实就是在删除有主外键关系的表时,会有所限制。

3.

错误:

在运行 python manage.py runserver (启动服务)时报:
在这里插入图片描述

解决:

像这种 Table xxxx doesn’t exist 都是数据库表的问题,所以要从数据库这方面找错误,执行以下两条语句即可解决

python manage.py makemigrations
python manage.py migrate 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值