Como uso um UpdateView para atualizar um modelo do Django?

Estou tentando atualizar um modelo no Django usando a visualização genérica baseada em classe UpdateVie

Li a páginaAtualizando o modelo de usuário no Django com UpdateView @ baseado em clas para tentar iniciar, mas estou recebendo um erro 'objeto WSGIRequest' não tem atributo 'id'

Sou uma cara nova para o Django, então, perdoe se estou fazendo algo estúpido.

// urls.py

url(r'^portfolios/update/(?P<id>\d+)/

// views.py

class PortfoliosUpdateView(UpdateView):
    form_class = PortfoliosCreateForm
    model = Portfolios
    template_name = 'portfolios/create.html'

    def get(self, request, **kwargs):
        self.object = Portfolios.objects.get(id=self.request.id)
        form_class = self.get_form_class()
        form = self.get_form(form_class)
        context = self.get_context_data(object=self.object, form=form)
        return self.render_to_response(context)

    def get_object(self, queryset=None):
        obj = Portfolios.objects.get(id=self.request.id)
        return obj

Na maioria das vezes, é apenas uma versão modificada do código originalmente publicado, mas achei que funcionaria. Eu sei que estou tentando recuperar o ID passado como um parâmetro GET, mas isso não parece ocorrer na variável de solicitação. Estou fazendo isso da maneira errada?

Obrigad

Edit: Eu acho que corrigi-lo, mas isso pode estar errado: eu mudei as linhas

self.object = Portfolios.objects.get(id=self.request.id)
obj = Portfolios.objects.get(id=self.request.id)

par

self.object = Portfolios.objects.get(id=self.kwargs['id'])
obj = Portfolios.objects.get(id=self.kwargs['id'])

Eu poderia estar errado

,PortfoliosUpdateView.as_view()),

// views.py

class PortfoliosUpdateView(UpdateView):
    form_class = PortfoliosCreateForm
    model = Portfolios
    template_name = 'portfolios/create.html'

    def get(self, request, **kwargs):
        self.object = Portfolios.objects.get(id=self.request.id)
        form_class = self.get_form_class()
        form = self.get_form(form_class)
        context = self.get_context_data(object=self.object, form=form)
        return self.render_to_response(context)

    def get_object(self, queryset=None):
        obj = Portfolios.objects.get(id=self.request.id)
        return obj

Na maioria das vezes, é apenas uma versão modificada do código originalmente publicado, mas achei que funcionaria. Eu sei que estou tentando recuperar o ID passado como um parâmetro GET, mas isso não parece ocorrer na variável de solicitação. Estou fazendo isso da maneira errada?

Obrigad

Edit: Eu acho que corrigi-lo, mas isso pode estar errado: eu mudei as linhas

self.object = Portfolios.objects.get(id=self.request.id)
obj = Portfolios.objects.get(id=self.request.id)

par

self.object = Portfolios.objects.get(id=self.kwargs['id'])
obj = Portfolios.objects.get(id=self.kwargs['id'])

Eu poderia estar errado

questionAnswers(4)

yourAnswerToTheQuestion