本文介绍了Django UpdateView没有pk在url的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以从与 UpdateView 相关的网址中删除 pk

Is it possible eliminate pk from url related to UpdateView?

例如,如果我有

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

是否有任何方式写作如

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

然后发送 pk 作为 POST GET 请求中的参数

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

推荐答案

是的,您可以只需要覆盖 get_object 方法:

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

这篇关于Django UpdateView没有pk在url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 21:12