【发布时间】:2016-03-09 02:49:38
【问题描述】:
我编写了一个简单的脚本来填充使用 Django 模型创建的表。我在开发过程中确实犯了错误,并且我的表中的数据已损坏(它可以访问,但图像、名称、url 错误)。我想删除这些数据并重新开始填充,但如果我只使用Model.objects.all().delete(),它看起来像表存储了以前的主键(所以新对象不是从pk=1 开始的)。
如果没有DROP TABLE,我如何删除所有以前的数据?如果DROP是最方便的方式,那是不是只有Django : Table doesn't exist这个恢复方案?
所需的功能是在每个脚本运行之前自动擦除数据。提前谢谢你。
【问题讨论】:
-
你在使用 SQLite 吗?
-
“在每个脚本运行之前”是什么意思?
-
@doru 我在不同的机器上有不同的数据库管理系统(使用它们开发:家庭和工作)、sqlite 和 mysql。在这种情况下,django orm 不是与数据库无关吗?
-
@Sayse 1. 用 Django ORM 擦除以前的数据,表绝对是新的和干净的。 2. 开始填充。一切都来自同一个脚本。
-
你的意思是你有一个你运行的脚本?你可以在开头添加flush