1

我正在尝试使用 Django admin 删除内联模型。我收到一条错误消息

[u'选择一个有效的选项。该选择不是可用的选择之一。']

我检查引发异常的位置。看起来内联模型已被删除,然后在父模型上发生了表单验证,删除的内联模型仍作为表单的值。这导致了失败。

在我的管理模型中,我save_formset定义了一个方法,称为formset.save(commit=False). 是commit=False不是告诉 Django 不要删除相关模型?

谢谢。

4

1 回答 1

2

快速查看代码后,似乎 formsetsave方法调用 了save_existing_objects,它确实删除了实例,即使commitFalse.

在表单集中保存对象的文档没有指定当您指定时标记为删除的对象会发生什么commit=False。它只是说:

传递commit=False以返回未保存的模型实例:

于 2012-11-06T16:59:42.930 回答