Estoy tratando de actualizar el modelo de usuario de Django con la clase basada en UpdateView que se representa automáticamente con el usuario actual pero obtengo el error de que se requiere un pk o slug. El formulario funciona y representa con el contexto de usuario actual correcto, pero arroja el error cuando intento enviar los cambios. A continuación se muestra la vista que estoy utilizando:Actualizando el modelo de usuario en Django con la clase basada en UpdateView
class UserUpdateView(UpdateView):
form_class = UserForm
model = User
template_name = 'members/user_update.html'
def get(self, request, **kwargs):
self.object = User.objects.get(username=self.request.user)
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 form_valid(self, form):
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.save()
return HttpResponseRedirect(self.get_success_url())
En realidad self.request.user es una instancia de usuario. – nemith