解决Django migrate: Your models in app(s): ‘Mymodelclassname‘ have changes that are not yet reflected

在Django项目中遇到错误提示,模型'Mymodelclassname'的更改未在迁移中反映。尝试删除缓存和migrations文件,但运行migrate时仍出现错误:'no such table: Myappname_mymodelclassname'。解决方案是备份并重命名db.sqlite3文件,然后重新执行makemigrations和migrate,成功应用了'sessions.0001_initial'迁移。
摘要由CSDN通过智能技术生成

这是一个“小”问题,但稍不注意会很令人困扰。在Django项目根目录下执行命令

$python manage.py makemigrations

没有异常信息,但是在最终的migrate操作时出现错误提示(红色):

$python manage.py migrate

Running migrations:
  No migrations to apply.
  Your models in app(s): 'Mymodelclassname' have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

删除所有相关缓存,包括 __pycache__和migrations文件夹里的关联文件。重新执行以上命令,结果出现另外的错误提示(灰色):

Running migrations:
  Applying Myappname.0002_alter_mymodelclassname_updated...Traceback (most recent call last):
  File "***/django/db/backends/utils.py", line 84, in _exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值