问题描述:
在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迁移