我有这种情况:
要编辑客户端,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'
问题是,我需要使用我自己的 save 方法更新现有对象,该方法获取klient object
并执行更多操作(我的 save 方法在此示例中不完整,它执行更多操作)。
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
如何从 URL in 获取具有 pk 的特定对象modelForm
?是否有可能做到这一点?ModelForm
什么都不知道request
。我的想法是获取updateview
可能的对象,但我不知道如何将其传递给save method
那个 modelform
。