在学习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 

猜你喜欢

转载自blog.csdn.net/weixin_42365428/article/details/88779310
今日推荐