如何跳过保存表单

时间:2015-03-26 16:35:34

标签: python django django-forms django-admin

我的管理表单中有内联,如果其中一个字段为空,我只想跳过保存一行。

我不需要引发ValidationError并将用户输入数据询问此字段。

我该怎么做?我试图覆盖我的表单,但Django试图保存该实例。

这是我的表格:

class MyAdminForm(forms.ModelForm):
    full_clean(self):
        super(MyAdminForm, self).full_clean()
        if 'my_field' in self.errors:
            del self._errors['my_field']

    def save(self, commit=True):
        m = super(SuperSetAdminForm, self).save(commit=False)
        if m.my_field is not None:
            m.save()
        return m

1 个答案:

答案 0 :(得分:0)

我想这应该可以解决问题。

def save(self, commit=True):
    if self.is_valid() and self.cleaned_data.get('my_field'):
        super(SuperSetAdminForm, self).save()
    return