Я не могу понять, как использовать ModelForm
в FormView
, чтобы он обновлял уже существующий экземпляр
Форма POST на этом URL: r'/object/(?P<pk>)/'
Я использую ModelForm
(а не напрямую UpdateView
), потому что требуется одно из полей, и я выполняю очистку.
В основном я хотел бы предоставить kwarg instance=...
при инициализации формы в FormView
(при POST), чтобы она привязалась к объекту, pk которого указана в URL-адресе. Но я не могу понять, где это сделать...
class SaveForm(ModelForm):
somedata = forms.CharField(required=False)
class Meta:
model = SomeModel # with attr somedata
fields = ('somedata', 'someotherdata')
def clean_somedata(self):
return sometransformation(self.cleaned_data['somedata'])
class SaveView(FormView):
form_class = SaveForm
def form_valid(self, form):
# form.instance here would be == SomeModel.objects.get(pk=pk_from_kwargs)
form.instance.save()
return ...