运行python manage.py makemigrations出现No changes detected

在操作系统为Ubuntu20.04的Linux服务器上部署在本地服务器上的Django项目时,需要输入迁移命令"python manage.py makemigrations"在本地创建数据库(此前已经将项目文件通过ftp上传至服务器),但是运行该命令时出现“No changes detected”,进入MySQL查找数据库也没有创建好的表格信息。

在网上搜索相关报错,把命令改为python manage.py makemigrations + "app名称",还是一样显示”no changes“。

 后来想了一下可能是和app文件夹下已经存在初始化的文件(原来在本地服务器生成的)有关,导致系统认为已经完成了数据库表格的初始化,但实际在远程服务器的数据库上并不存在该表格。所以解决的方法就是把migrations文件夹下的初始化文件删掉。

在项目文件夹下打开终端运行:

cd app01 #这里的app01要替换为自己的app名称
cd migrations #进入migrations文件夹
ls #显示app文件夹下存在的文件

像上图中0001,0002开头的文件显然就是初始化的文件,把它们删掉留下__init__.py、__pycache__文件即可。

运行删除命令:

 rm 0001_initial.py 0002_auto_20230713_0830.py

删除后再次运行python manage.py makemigrations和python manage.py migrate

 OK,成功解决!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值