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

Abr*_*rar 5 django django-models python-3.x

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

我使用以下命令:

t.delete('Ron')
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 7

错误:

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

建议您一开始就没有保存对象t,或者您将主键(此处id)更改为None手动。

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

my_obj = Model.objects.get(name='Ron')
my_obj.delete()
Run Code Online (Sandbox Code Playgroud)

您应该添加额外的参数,delete除了usingkeep_parents,作为中指定的文件Model.delete()

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

Model.objects.filter(name='Ron').delete()
Run Code Online (Sandbox Code Playgroud)

这将删除所有 Model具有 name 的对象'Ron'