擅长:python、mysql、java
<p>我找到了一个非常简单的解决方案,可以悄悄地避免不必要的删除某些内联线。您只需重写delete_forms属性方法。
这不仅适用于管理,也适用于常规内联。在</p>
<pre><code>from django.forms.models import BaseInlineFormSet
class MyInlineFormSet(BaseInlineFormSet):
@property
def deleted_forms(self):
deleted_forms = super(MyInlineFormSet, self).deleted_forms
for i, form in enumerate(deleted_forms):
# Use form.instance to access object instance if needed
if some_criteria_to_prevent_deletion:
deleted_forms.pop(i)
return deleted_forms
</code></pre>