django - 网址中没有pk的Django UpdateView

标签 django django-views django-urls django-class-based-views

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

例如,如果我有

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


有什么办法可以像这样写吗

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


然后在pkPOST请求中将GET作为参数发送?

最佳答案

是的,您可能只需要重写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

关于django - 网址中没有pk的Django UpdateView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561736/

相关文章:

python - 如何从一组子实例中获取所有相关/父实例而不循环遍历后一组

django - 覆盖 get_form 后的警告

python - 以编程方式在 Django 中添加 URL 模式?

python - 让 Django 接受带有无限参数的 url

Django:有没有更好的方法来加粗当前页面链接

python - 出现错误,但包已安装

django - 使用 django-haystack,如何按内容类型对结果进行排序

python - IntegrityError 主键在 django 中无效

python - django Rest框架如何删除多余的查询?

javascript - 如何在查询外部 django View 时刷新部分 DOM HTML