Django1.6:在一个选项卡中清除数据

2024-09-27 22:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表名UGC,希望清除该表中的所有数据。我不想重置整个应用程序,这会删除所有其他模型中的所有数据。是否可以只清除一个模型?我也有South配置我的应用程序,如果这会有帮助。在


Tags: 数据模型应用程序重置southugc
3条回答

今天在django 2.0.2中遇到了这样的问题,因为我用

class Front(models.Model):
    pass

并迁移了它,但当我后来更新模型时,我无法运行 python manage.py makemigrations因为它说

^{pr2}$

我的解决方案是什么?在

  1. 我选择了第二种选择,那就是退出
  2. 我注释掉了麻烦的模型/表,在我的例子中是Front
  3. 我运行python manage.py makemigrations,它删除了麻烦的表/模型
  4. 我取消了模型的注释,再次运行python manage.py makemigrations,这将重新创建表/模型,最后
  5. 我用python manage.py migrate迁移了我的更改,所有的问题都解决了!在

注意:注意上面的指令,因为它将删除表/模型的所有引用/外键,其中on_delete=models.CASCADE是默认值!

在管理界面中,可以转到该模型的列表页面,然后可以选择所有模型并使用表顶部的Delete selected ...操作。在

请记住,无论以何种方式删除数据,外键默认为ON DELETE CASCADE,因此任何带有外键的模型都将被删除。管理界面将为您提供将要删除的模型的完整概述。在

您可以use raw SQL

 cursor.execute(“DROP TABLE UGC”)

或者您可以直接在Django shell中使用ORM:

^{pr2}$

这将删除数据(但不是表),因此您必须小心:)

另一种方法(为了完整性和利用South)是在模型声明中注释掉模型,然后迁移,然后再放回去(假设没有模型引用它)

高温

相关问题 更多 >

    热门问题