本文介绍了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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!