9

UpdateViewに関連するURLからpkを削除することは可能ですか?私はURLにpkのないDjango UpdateView

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

を持っている場合

例えば、

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

のようにそれを書き、その後POSTまたはGETリクエストにパラメータとしてpkを送信する方法はありますか?

+1

を:http://stackoverflow.com/questions/6181041/updating-user-モデルベースのdjango-with-class-based-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

関連する問題