如何使用Django删除表中的所有数据

185 投票
10 回答
252079 浏览
提问于 2025-04-16 09:02

我有两个问题:

  1. 在Django中,我怎么删除一个表?
  2. 我怎么清空这个表里的所有数据?

这是我的代码,但没有成功:

Reporter.objects.delete()

10 个回答

52

如果你想清空所有表里的数据,可以试试这个命令 python manage.py flush。这个命令会删除你所有表里的数据,但表本身还是会保留。

想了解更多,可以查看这里:https://docs.djangoproject.com/en/1.8/ref/django-admin/

150

根据最新的文档,正确的方法是:

Reporter.objects.all().delete()
217

在一个管理器内部:

def delete_everything(self):
    Reporter.objects.all().delete()

def drop_table(self):
    cursor = connection.cursor()
    table_name = self.model._meta.db_table
    sql = "DROP TABLE %s;" % (table_name, )
    cursor.execute(sql)

撰写回答