仅当对象存在时,如何在Django模型表单中添加额外字段?

时间:2019-06-14 08:44:27

标签: django django-forms

让我们说我有一个这样的模型表格:

class PersonForm(forms.ModelForm):
    full_name = forms.CharField(max_length=255)

    class Meta:
        model = Person
        fields = '__all__'

full_name字段不是数据库字段。我希望仅当对象存在时才出现字段full_name,即不添加对象,并将初始值设置为instance.first_name + ' ' + instance.last_name。另外,由于first_namelast_name尚不存在,因此根本不显示字段full_name。我怎样才能做到这一点?而且,这个额外的字段会影响我的保存过程吗?

编辑:我正在尝试做这个管理员,因此,没有提及视图或模板的答案。

1 个答案:

答案 0 :(得分:0)

在您的html模板文件中,您可以检查表单实例的ID,例如

{% if form.instance.place_id %}
    {# we are editing the object #}
{% endif%}

place_id必须替换为对象的ID或其他字段。