11 de Mayo de 2012 · 1 min de lectura
Supongamos que tenemos un formulario asociado a un modelo que tiene una FK hacia User. El formulario de entrada normalmente no contendrá ningún desplegable para seleccionar el usuario, sinó que lo que queremos es que al guardar automáticamente se guarde en el objeto creado por el formulario la referencia hacia el usuario que lo creó. Esto lo podemos hacer fácilmente sobreescribiendo el método form_valid de nuestra class, sería una cosa así:
class AddObjectView(CreateView):
model = NuestroModelo
form_class = ElFromularioSinElUser
success_url = reverse_lazy('objeto-guardado')
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.save()
return super(AddObjectView, self).form_valid(form)