Django formunda, bir alanı salt okunur (veya devre dışı bırakılmış) hale nasıl getirebilirim?
Form yeni bir giriş oluşturmak için kullanılırken tüm alanların etkinleştirilmesi gerekir - ancak kayıt güncelleme modundayken bazı alanların salt okunur olması gerekir.
Örneğin, yeni bir Item
model oluştururken , tüm alanların düzenlenebilir olması gerekir, ancak kaydı güncellerken sku
alanı görünür hale getirmek, ancak düzenlenememek için devre dışı bırakmanın bir yolu var mı?
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
Sınıf ItemForm
yeniden kullanılabilir mi? ItemForm
Veya Item
model sınıfında ne gibi değişiklikler yapılması gerekir ? ItemUpdateForm
Öğeyi güncellemek için başka bir sınıf, " " yazmam gerekir mi?
def update_item_view(request):
if request.method == 'POST':
form = ItemUpdateForm(request.POST)
# Validate and save
else:
form = ItemUpdateForm()