从Django sqlite3数据库中删除对象,从而减小数据库大小

时间:2018-07-21 23:29:27

标签: python django database sqlite

我有一个表,里面有很多条目。我可以非常轻松地“删除”这些条目,以便在使用Django Admin页面时不再显示它们。但是,这些记录仍在.sqlite3文件中。由于要删除,我想减小.sqlite3文件的大小。

到目前为止,该主题的Google搜索还没有结果。

**编辑**

不应将其标记为重复项。尽管之前已经以其他形式提出了这个问题,但这些问题都不是专门为通过Django实例使用sqlite3而设计的。

1 个答案:

答案 0 :(得分:1)

以下方法适用于我...

python3 manage.py shell
>>> from OpenBench.models import Result
>>> r = Result.objects.filter()
>>> r._raw_delete(r.db)
>>>
>>> from django.db import connection
>>> cursor = connection.cursor()
>>> cursor.exectute("vacuum;")
>>> quit()

这将删除所有结果条目,并减小数据库文件的大小。