如何删除Django模型中的记录?

2020-12-04 16:55:47 发布

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

我想删除一个特定的记录。例如

delete from table_name where id = 1;

我怎样才能在一个django model中做到这一点?

3条回答
网友
1楼 ·
MyModel.objects.get(pk=1).delete()

如果具有指定主键的对象不存在,这将引发异常,因为它首先尝试检索指定的对象。

MyModel.objects.filter(pk=1).delete()

如果具有指定主键的对象不存在并且它直接生成查询,则不会引发异常

DELETE FROM my_models where id=1
网友
2楼 ·

沃尔夫提供了一个很好的答案集中代码。让我把官方的doc贴在这里,供大家参考。

网友
3楼 ·

有两种方法:

直接删除:

SomeModel.objects.filter(id=id).delete()

要从实例中删除它:

instance = SomeModel.objects.get(id=id)
instance.delete()

相关问题