型號:Django的 - 一個更新的的ModelForm某些領域
class Session(models.Model):
tutor = models.ForeignKey(User)
start_time = models.DateTimeField()
end_time = models.DateTimeField()
status = models.CharField(max_length=1)
形式:
class SessionForm(forms.ModelForm):
class Meta:
model = Session
exclude = ['tutor']
測試:
>>> ses = Session.objects.get(pk=1)
>>> ses
<Session: Robert - 2012-04-18 13:00:00>
>>> form = SessionForm(instance=ses)
現在比如我想只有更新status
並保存。
我該怎麼做?
編輯
模板:
<form action="fhjsdhkl" method="POST">{{ csrf_token }}
<input name="start_time" />
<input name="end_time" />
</form>
嘗試後只有這2個字段:
if request.method == 'POST':
form = SessionForm(request.POST)
if request.POST['id']:
try:
s = Session.objects.get(pk=request.POST['id'])
form.instance = s
except Session.DoesNotExist:
pass
if form.is_valid():
form.save()
會話不能因爲數據沒被改變沒有驗證。
的形式返回的錯誤是
狀態 - 這是必須填寫
,我需要更新不固定的領域,我想避免發佈所有的領域每次。我必須爲每種情況製作不同的表格嗎?
爲什麼你需要表格? – 2012-04-18 14:43:41
我只舉一個例子,但我實際上是從一個模板做多個字段
– 2012-04-18 15:02:41你會得到什麼驗證錯誤? – San4ez 2012-04-18 15:06:21