Как добавить дополнительное поле в форму модели Django только тогда, когда объект существует? - PullRequest
0 голосов
/ 14 июня 2019

Допустим, у меня есть форма модели, подобная этой:

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_name и last_name еще не существует, поле full_name просто не отображается.Как я могу это сделать?Кроме того, повлияет ли это дополнительное поле на мой процесс сохранения?

Редактировать: я пытаюсь сделать это администратором, поэтому нет ответов с упоминанием представлений или шаблонов.

1 Ответ

0 голосов
/ 14 июня 2019

В вашем html-файле шаблона вы можете проверить идентификатор экземпляра формы, например:

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

place_id должен быть заменен идентификатором объекта или каким-либо другим полем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...