私はこの状況を持っています:
クライアントを編集するには、次UpdateViewを使用します。
url(r'^klient_change/(?P<pk>\d+)/$', KlientUpdateView.as_view(), name='url_klient_change'),
Update View は、オブジェクトの更新を処理します。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 から pk を持つ特定のオブジェクトを取得するにはどうすればよいmodelFormですか? これを行うことは可能ですか?ModelFormについて何も知らないrequest。私の考えは、可能なオブジェクトを取得することでしたが、 updateviewそれを渡す方法がわかりません。save methodmodelform