Модель:Джанго - Обновление некоторых полей в 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()
сессия, которые не может быть изменен, поскольку в Ждут данные Не проверять.
Возвращение ошибки в форме
статус - Это поле обязательно
поля, которые мне нужно обновить не фиксированы, и я хотел бы избежать проводки все поля каждый раз. Должен ли я делать другую форму для каждого случая?
Зачем вам нужна форма? –
Я приведу пример только с одним полем, но на самом деле я делаю несколько полей из шаблона
–Какую ошибку проверки вы получаете? – San4ez