Django误删数据库表,重构失败案例

因为手欠,手动将mysql里面的一个表删除了,想重构此表,结果运行数据库迁移语句会显示以下错误:No changes detected

 也尝试了很多办法,始终无法解决,最后用了以下方式解决,仅供参考。

首先将该app下的所有数据库表都手动删除,然后再django_migrations表中将该app对应的表记录都删除

然后把migrations文件夹里文件全部删除,然后执行以下命令:

# 先生成一个空的initial.py
python manage.py makemigrations --empty yourappname
python manage.py makemigrations;
python manage.py migrate

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Django通过ORM功能可以方便地将代码中的类映射为数据库。首先,在Django的settings.py文件中配置数据库连接信息,包括数据库引擎、数据库名、用户名、密码、主机和端口等。接着,在应用的models.py文件中定义模型类,并且使用不同的字段类型来定义的列,以及其他的元数据,比如名。最后,在子应用的admin.py文件中,可以通过注册模型类来自动生成管理页面,这样可以方便地在后台进行增删改查的操作。 举个例子,如果我们有一个名为User的模型类,我们可以在models.py文件中创建一个User类,并定义它的字段。比如,我们可以定义一个名为name的CharField字段,用来示用户的姓名,还可以定义一个名为level的IntegerField字段,示用户的级别。同时,我们还可以定义一个名为createTime的DateTimeField字段,用来示用户的创建时间。为了将这个模型类映射为数据库,我们需要在Meta类中指定db_table属性,将其设置为名。 当我们运行Django数据库迁移命令时,Django会根据模型类的定义自动创建对应的数据库。具体来说,Django会生成一条创建的SQL语句,并执行这个SQL语句来创建。 总结来说,通过配置数据库连接信息、定义模型类和字段、注册模型类生成管理页面,Django可以帮助我们快速创建数据库。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值