Python 在创建字段时以ModelForm显示该字段,但在更新字段时将其隐藏
我有一个简单的模型,如下所示:Python 在创建字段时以ModelForm显示该字段,但在更新字段时将其隐藏,python,django,django-forms,Python,Django,Django Forms,我有一个简单的模型,如下所示: class ProfInfo(forms.ModelForm): email = forms.EmailField( required=True, label=_("Email") ) class Meta: model = Prof 当我使用模型表单创建或更新记录时,将显示电子邮件字段,但我希望在通过表单更新时将其删除。我该怎么做?我知道我在\uuu init\uuuu方法中执行了一个简单的删除self
class ProfInfo(forms.ModelForm):
email = forms.EmailField(
required=True, label=_("Email")
)
class Meta:
model = Prof
当我使用模型表单创建或更新记录时,将显示
电子邮件
字段,但我希望在通过表单更新时将其删除。我该怎么做?我知道我在\uuu init\uuuu
方法中执行了一个简单的删除self.fields['email']
,但如何测试它是否被更新或删除?您可以检查form.instance.pk是否存在
比如:
def __init__(self, *args, **kwargs):
super(ProfInfo, self).__init__(*args, **kwargs)
if self.instance.pk:
del self.field['email']
您可以使用django模板语言检查正在调用的视图,然后显示表单的一部分或不显示。。。{%if…%}