美文网首页
Django中出现No migrations to apply

Django中出现No migrations to apply

作者: 丙吉 | 来源:发表于2022-06-20 16:29 被阅读0次
在Django学习中,出现No migrations to apply问题。

在model模型中,新建一个类(表),运行python manage.py migrate时报No migrations to apply,在数据库中查看该表也未生成。

(django_env) d:\pro_soft\Anaconda\bj22\test5>python manage.py makemigrations
No changes detected

(django_env) d:\pro_soft\Anaconda\bj22\test5>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, booktest, contenttypes, sessions
Running migrations:
  No migrations to apply.
image.png
原因:要建表的迁移已存在,没检测到变化,故没有生成表,所以要删除0001_initial。

(1)找到记录django迁移的表 django_migrations。


image.png

(2)查看表中的内容,但这么多initial该删哪个?找到app的列,看应用名即可。


image.png
(3) 查看 “booktest”的应用名下的迁移的具体操作,在项目的目录下输入
image.png
python manage.py sqlmigrate booktest 0001

即可查看到创建的表


image.png

(4) 删除该记录。


image.png
(5)再重新运行迁移步骤。
python manage.py makemigrations

python manage.py migrate
image.png

(6)再回到mysql中查看表的生成,表已生成。

image.png

特别注意,不要随意删除django_migrations下的表,这里面有表增删改查操作,都有依赖关系。

详细参考:

https://zhuanlan.zhihu.com/p/142787995

相关文章

网友评论

      本文标题:Django中出现No migrations to apply

      本文链接:https://www.haomeiwen.com/subject/gdadvrtx.html