错误:无法删除对象,因为其id属性设置为None

时间:2018-09-06 09:58:35

标签: django python-3.x django-models

试图在django中使用shell删除对象。如何删除显示“ Ron”的对象?

我使用以下命令:

t.delete('Ron')

1 个答案:

答案 0 :(得分:3)

错误:

  

对象的ID属性设置为“无”,因此无法删除

建议您要么从不保存对象t,要么将主键(此处为id)手动更改为None

如果只有一个对象,则可以对该对象执行.delete(),例如:

my_obj = Model.objects.get(name='Ron')
my_obj.delete()

除了documentation for Model.delete()中指定的deleteusing之外,您应该keep_parents添加额外的参数

或者您可以使用.filter(..)语句删除对象,例如:

Model.objects.filter(name='Ron').delete()

这将删除名称为Model所有 'Ron'个对象。