Sto scrivendo la mia prima app in Django e ho un problema con la vista generica create_object
; Nel mio urls.py
, ho:Estensione viste generiche di Django
(r'^new$', CreateView.as_view()),
Il problema è che quando l'utente invia il modulo di "nuovo", ho bisogno di manipolare i dati che verranno salvati nel database (in realtà ho bisogno di aggiungere il user_id
estera chiave); senza Visualizzazioni generici ho usato per scrivere:
form = ClientForm(request.POST)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
form.save_m2m()
a mio avviso (avviso data.user=request.user
). Ho cercato documenti Django ma non riesco a trovare un modo per farlo (magari estendendo la classe CreateView
) - un po 'in The Book c'è solo un esempio che sovrascrive il metodo get_object
di una classe ListView
per aggiornare un campo last_accessed_date
.
Ecco il "effettuano un lavoro extra" in cui spiega che il metodo get_object potrebbe essere sovrascritto estendendo la classe [link] (https://docs.djangoproject.com/en/dev/topics/class-based-views/#performing-extra-work) –