0
点赞
收藏
分享

微信扫一扫

Django创建模型迁移未创建对应表


问题描述:

在django中创建了一个app,而且在app中自定义创建了几个数据表,在同步的时候系统自带的表可以成功,但是models中的没有生效,而且进入对应app下的migrations目录,发现为空,应该如何解决呢!

解决方法一: 

# managerbook就是你的app名字,此处要写成自己的app名字
python3 manage.py makemigrations --empty managerbook

# 再次正常运行生成迁移文件的命令
python3 manage.py makemigrations

# 同步数据库
python3 manage.py migrate

如果在同步数据库报错

django.db.utils.InternalError: (1050, "Table 'django_content_type' already exists")

# 将同步数据库命令改为
python3 manage.py migrate --fake

 

解决方法二: 

一、migrate 没有新生成数据表

1、删除 app 目录下的数据库文件和缓存文件

rm -r migrations/

2. managerbook就是你的app名字,此处要写成自己的app名字

python3 manage.py makemigrations --empty managerbook

3. 允许在不迁移的情况下为应用创建表。虽然不推荐这样做,但对于拥有数百个模型的大型项目,迁移框架有时会太慢。

python3 manage.py migrate --run-syncdb

参考官方链接: ​​django迁移​​ 

举报

相关推荐

0 条评论