How do I use an UpdateView to update a Django Model?

前端 未结 3 1542
自闭症患者
自闭症患者 2020-12-13 20:06

I\'m trying to update a model in Django using the class-based generic view UpdateView.

I read the page Updating User model in Django with class based UpdateView to t

3条回答
  •  -上瘾入骨i
    2020-12-13 20:42

    It should be:

    def get_object(self, queryset=None):
        obj = Portfolios.objects.get(id=self.kwargs['id'])
        return obj
    

    Look at class based generic view dispatch explains that keyword arguments are assigned to self.kwargs.:

    def dispatch(self, request, *args, **kwargs):
        # Try to dispatch to the right method; if a method doesn't exist,
        # defer to the error handler. Also defer to the error handler if the
        # request method isn't on the approved list.
        if request.method.lower() in self.http_method_names:
            handler = getattr(self, request.method.lower(), self.http_method_not_allowed)
        else:
            handler = self.http_method_not_allowed
        self.request = request
        self.args = args
        self.kwargs = kwargs
        return handler(request, *args, **kwargs)
    

提交回复
热议问题