Estoy escribiendo mi primera aplicación en Django, y tengo un problema con la vista genérica create_object
; En mi urls.py
, que tengo:Extendiendo las vistas genéricas de Django
(r'^new$', CreateView.as_view()),
El problema es que cuando el usuario envía el formulario "nuevo", lo que necesito para manipular los datos que se guardan en la base de datos (que en realidad tenga que añadir el user_id
extranjera llave); sin vistas genéricas solía escribir:
form = ClientForm(request.POST)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
form.save_m2m()
en mi opinión (aviso data.user=request.user
). He buscado documentos de Django pero no puedo encontrar la forma de hacerlo (tal vez extendiendo la clase CreateView
) --algunas veces en The Book solo hay un ejemplo que anula el método get_object
de una clase ListView
para actualizar un campo last_accessed_date
.
Aquí está la "Realización de un trabajo extra", donde se explica que el método get_object podría ser anulado extendiendo la clase [link] (https://docs.djangoproject.com/en/dev/topics/class-based-views/#performing-extra-work) –