В форме Django как сделать поле доступным только для чтения (или отключенным)?
Когда форма используется для создания новой записи, все поля должны быть включены, но когда запись находится в режиме обновления, некоторые поля должны быть доступны только для чтения.
Например, при создании новой Itemмодели все поля должны быть доступны для редактирования, но при обновлении записи есть ли способ отключить skuполе, чтобы оно было видимым, но не могло быть отредактировано?
class Item(models.Model):
sku = models.CharField(max_length=50)
description = models.CharField(max_length=200)
added_by = models.ForeignKey(User)
class ItemForm(ModelForm):
class Meta:
model = Item
exclude = ('added_by')
def new_item_view(request):
if request.method == 'POST':
form = ItemForm(request.POST)
# Validate and save
else:
form = ItemForm()
# Render the view
Можно ItemFormли повторно использовать класс ? Какие изменения потребуются в классе ItemFormили Itemмодели? Нужно ли мне писать другой класс " ItemUpdateForm" для обновления элемента?
def update_item_view(request):
if request.method == 'POST':
form = ItemUpdateForm(request.POST)
# Validate and save
else:
form = ItemUpdateForm()