1

私はこの状況を持っています:

クライアントを編集するには、次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

4

1 に答える 1

2

ではKlientUpdateForm.save、オブジェクトは として利用できるはずですself.instance

于 2012-12-27T10:52:41.650 に答える