Форум сайта python.su
0
Не работает form.save() на обновление записи. Идет добавление, а записи в уже созданную нет. Попробовал прописать в форме id поле как hidden, но это не сработало: уже есть такое id hidden поле :
<form action="" method="POST">
<div style='display:none;'>
<input type='hidden' id='csrfmiddlewaretoken' name='csrfmiddlewaretoken' value='f61838928114c0749d3f9bb5daa1f0ed' /></div>
<input type="hidden" name="id" value="30" id="id_id" />
Офлайн
5
я делал так
data = Model.get_by_name(name)
if request.POST:
edit_form = EditForm(request.POST)
if edit_form.is_valid():
data.name = edit_form.cleaned_data['name']
data.text = edit_form.cleaned_data['text']
data.save()
else:
edit_form = EditForm({'name': data.name, 'text': data.text})
Отредактировано (Сен. 26, 2011 08:54:19)
Офлайн
0
d1ffuz0r, id записи где взять? В форме то его нет!
Офлайн
5
так передай туда же, как я передавал данные в поля name и text, вроде бы нужно засунуть в initial = {}, домой вечером приду посмотрю
Офлайн
0
d1ffuz0rХотелось бы form.save() использовать. Так туда так тупо и передать id?
так передай туда же, как я передавал данные в поля name и text, вроде бы нужно засунуть в initial = {}, домой вечером приду посмотрю
form.id = 1
form.save()
Офлайн
8
Подскажите как id записи передать в form.save()Если класс формы отнаследован от ModelForm, то у него есть агрумент конструктора instance, которому надо скармливать экземпляр редактируемого объекта. Посмотрите в самом первом примере кода здесь - https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#modelform
Офлайн
0
Спасибо, за помощь. Получилось
form.id = rec_id
form.save()
Офлайн
0
Что может быть проще:
obj = Model.objects.get(pk=1)
form = Form(instance=obj)
Офлайн