django模型写错,如何删除迁移文件,重新进行迁移

使用django时,有时创建模型、已经进行迁移,这时发现模型写错了,想要删除掉迁移文件,重新生成和执行,应该怎么办?


1、找到对应app下的migrations文件夹,下面除__init__.py之外的文件全部删除,如下图所示:
删除方法:单击.py文件,右键,delete。

2、在外部库中,按照External Libraries --- Lib --- site-packages --- django --- contrib --- admin --- migrations 的顺序找到如图所示迁移文件,右键delete删除,删除时取消勾选

 

 

 

4、在数据库中删除数据库,删除后,再重新创建一个同名的数据库。
执行命令:drop database 数据库名;
执行命令:create database 数据库名 charset=utf8;

5、重新执行迁移

python manage.py makemigrations

python manage.py migrate
 

`django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '...'.")` 这个错误是Django在使用数据库时,生成的SQL语句存在语法错误,导致MySQL数据库无法正确解析执行。1064错误是MySQL数据库中一个常见的错误,通常是因为SQL查询语句的语法不正确。 在Django中,当你使用Django的ORM(对象关系映射)系统来编写数据库查询时,Django会自动为你生成SQL语句。如果你的模型定义、查询语句或者数据库迁移文件中有不正确的SQL语法,就可能出现这个错误。这个问题常见于以下几个方面: 1. 查询集使用不当:例如,在过滤(filter)查询中使用了错误的字段名或者没有正确使用Django的字段查找类型(如`__exact`、`__contains`等)。 2. 数据库迁移错误:在执行数据库迁移时,如果迁移文件中的某些操作语法不正确,也会产生这个错误。 3. 拼写错误:在定义模型的字段或在编写SQL查询时,字段名拼写错误,或者关键字、函数名写错也会引发此错误。 4. 特殊字符或保留字:如果你在字段名或表名中使用了数据库的特殊字符或保留字,而没有正确处理(如使用反引号`来包围字段名),也会导致语法错误。 解决这类问题一般需要按照错误提示中的“near '...'”部分仔细检查SQL语句,确认是否有拼写错误、缺少括号、错误的语法结构等。如果是在Django ORM中遇到的问题,建议查看Django的官方文档学习正确的查询方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值