Это выглядит сложно, вы можете прочитать некоторые из следующих идей:
В форме Django как сделать поле доступным только для чтения (или отключенным), чтобы его нельзя было редактировать?
http://lazypython.blogspot.com/2008/12/building-read-only-field-in-django.html
Ничто из этого не является особенно простым, поэтому я бы предложил (как и @dcrodjer):
Создание двух форм, одна для создания, другая для редактирования. В форме редактирования удалите поле Домен, чтобы оно не было обязательным / не было сохранено:
# forms.py
class AddForm(ModelForm):
class Meta:
model = UserProfile
fields = ('name','domain',)
class EditForm(ModelForm):
class Meta:
model = UserProfile
fields = ('name',)
По вашему мнению, создавая соответствующую форму, а в вашем шаблоне отображая различные HTML в зависимости от того, какую форму вы получили:
{% if form.domain %}
{{form.domain.label_tag}}: {{form.domain}} {{form.domain.errors}}
{% else %}
Domain: <input type="text" disabled="disabled" value="{{userprofile.domain}}"/>
{% endif %}