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)

blog comments powered by Disqus