Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在创建字段时以ModelForm显示该字段,但在更新字段时将其隐藏_Python_Django_Django Forms - Fatal编程技术网

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…%}