我有一个简单的ModelForm,如下所示:
class ProfInfo(forms.ModelForm):
email = forms.EmailField(
required=True, label=_("Email")
)
class Meta:
model = Prof
当我使用模型表单创建或更新记录时会显示email
字段,但是当我通过表单更新时,我想将其删除。我怎样才能做到这一点?我知道我在del self.fields['email']
方法中执行了一个简单的__init__
但是如何测试它是否正在更新或删除?
答案 0 :(得分:3)
您可以检查form.instance.pk是否存在。
类似的东西:
def __init__(self, *args, **kwargs):
super(ProfInfo, self).__init__(*args, **kwargs)
if self.instance.pk:
del self.field['email']