9

UpdateView과 관련된 URL에서 pk을 제거 할 수 있습니까?URL에 pk가없는 장고 UpdateView

예를 들어, 내가

url(r'^myobj/update/(?P<pk>\d+)/$', views.UpdateMyObj.as_view(), name="update") 

경우 POST 또는 GET 요청에서 매개 변수로 pk을 보내 다음

url(r'^myobj/update/$', views.UpdateMyObj.as_view(), name="update") 

및처럼 쓸 수있는 방법은 무엇입니까?

+1

을이 게시물 : http://stackoverflow.com/questions/6181041/updating-user- 모델 - in - django - 클래스 - 기반 updateview – Staccato

답변

25

네, 가능하면 그냥 get_object 방법을 재정의해야 : 볼이 답변에 짧은 대안을

from django.views.generic.edit import UpdateView 

class UpdateMyObj(UpdateView): 
    # ..... 

    def get_object(self): 
     return MyModel.objects.get(pk=self.request.GET.get('pk')) # or request.POST 
+0

구현 링크가 있습니까? 감사합니다 –

+1

get_object_or_404를 사용하여 객체를 얻는 것이 좋습니다 –

+0

모범 사례는 서버의 업데이트에'request.GET'을 사용하지 않는 것입니다. 대신 항상'request.POST'를 사용하는 것이 가장 좋습니다. – Semmel

관련 문제