zigen
@zigen

Как установить initial параметр для ModelForm?

Добрый день.
Подскажите как получить initial значения формы из модели?

class VendorEditForm(forms.ModelForm):
    class Meta:
        model = Vendor
        fields = ('avatar','description',)


Понимаю, что нужно сделать когда инстантирую форму, но как правильно не доходит

context['form'] = self.form_class(self.request.GET, initial=??? )
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
sim3x
@sim3x
stackoverflow.com/a/4674127

# forms.py
# ...
class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel

# views.py
# ...    
def my_view(request, id): 
    instance = get_object_or_404(MyModel, id=id)
    form = MyForm(request.POST or None, instance=instance)
    if form.is_valid():
        form.save()
        return redirect('next_view')
    return direct_to_template(request, 'my_template.html', {'form': form}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zigen
@zigen Автор вопроса
sim3x ,cпасибо!
У меня для СBV сработало вот так:

self.object = self.get_object()
context['form'] = self.form_class(self.request.GET or self.request.POST or None, instance=self.object)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы