Django UpdateView without pk in url

不问归期 提交于 2019-12-17 18:38:39

问题


Is it possible eliminate pk from url related to UpdateView?

For example, if I have

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

is there any way to write it like

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

and then send pk as a parameter in POST or GET request?


回答1:


Yes it is possible you just need to override the get_object method:

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


来源:https://stackoverflow.com/questions/17561736/django-updateview-without-pk-in-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!