나는이 상황이 :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
에있는 객체를 얻는 것이었지만 그걸 에 전달하는 방법을 모른다.
예! 네가 옳아. 'self.instance.pk'는 원하는 기본 키를 반환합니다! – Boun