1
我有这种情况:Django - 如何通过UpdateView将对象传递给ModelForm?
要编辑klient,UpdateView
用于:
url(r'^klient_change/(?P<pk>\d+)/$', KlientUpdateView.as_view(), name='url_klient_change'),
更新视图需要更新对象的关怀,它采用KlientUpdateForm
class KlientUpdateView(UpdateView):
form_class = KlientUpdateForm
model = Klient
template_name = 'forms/klient_zmenit.html'
问题是,我需要更新现有的对象使用我自己的保存方法,它得到klient object
和做更多的事情(我的保存方法是在这个例子中完成,它做了很多)。
class KlientUpdateForm(ModelForm):
class Meta:
model = Klient
# This method creates and saves a database object from the data bound to the form.
def save(self):
#self.cleaned_data obsahuje data z formulare
data = self.cleaned_data
klient = get_object_or_404(Klient, klient_id =self.request.pk)
Klient.objects.filter(klient_id = self.request.pk).update(nazev=data['nazev'], telefon=data['telefon'],)
return klient
我怎样才能获得具有modelForm
从URL PK particualr对象?是否有可能做到这一点? ModelForm
不知道任何关于request
。我的想法是得到updateview
这个对象,这是可能的,但我不知道,如何将它传递给save method
那modelform
。
是的!你是对的。 'self.instance.pk'返回所需的主键! – Boun