así que tengo un modelo que incluye:Acceso request.user en clase genérica basada vista CreateView con el fin de establecer el campo FK en Django
class Place(models.Model):
....
created_by = models.ForeignKey(User)
Mi punto de vista es así:
class PlaceFormView(CreateView):
form_class = PlaceForm
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(PlaceFormView, self).dispatch(*args, **kwargs)
Es ¿Hay alguna forma de que acceda a request.user y configure created_by a ese usuario? He revisado los documentos, pero parece que no puedo encontrar pistas sobre esto.
`
Gracias! Esto funciona, a excepción de la redirección. Me aparece el error: "No hay una URL para redirigir a. O bien proporciona una URL o define un método get_absolute_url en el Modelo". Sin embargo, tengo un conjunto de get_absolute_url() en el modelo, y cuando primero obtuve esta vista funcionando (con created_by un cuadro de selección en el formulario) se redirigió correctamente. Tratando de resolver esto ahora. ¿Algunas ideas? – Brian
Sí, parece que get_absolute_url se extrae de self.object, por lo que en su código, establezca 'self.object = obj' en' form_valid' –
Gracias de nuevo. Lo tengo trabajando. – Brian