url中没有pk的Django UpdateView [英] Django UpdateView without pk in url

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

问题描述

是否可以从与UpdateView相关的url中去除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")

然后在POSTGET请求中将pk作为参数发送?

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

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆