Ho due moduli concatenati. In pratica l'utente riempie il primo modulo e poi viene reindirizzato al secondo che aggiunge valore ai dati del primo modulo. E.G. Ho una forma Movie (prima forma) e poi sono reindirizzato alla forma (attore) che aggiunge l'attore al film.django createview come ottenere l'oggetto che viene creato
nel mio caso il film = Chiamata e Attore = Offerta (io continuo il nome italiani per quello che ho bisogno: D)
bene.
quelli sono i miei URL nella urls.py
url(r'^chiamata/$', ChiamataCreate.as_view(),name='chiamata_create'),
url(r'^chimamata/(?P<pk>\d+)/offerta$', OffertaCreate.as_view(), name='offerta_create'),
ho questa visione creare
class ChiamataCreate(CreateView):
template_name = 'chiamata_form.html'
form_class = ChiamataForm
success_url=reverse_lazy('offerta_create',args=(??,))
Ora il problema è come posso ottenere il PK dell'oggetto creato dal chiamataForm . Ho bisogno di questo per aggiungerlo all'URL di offerta_create.
Yup funziona 'def get_success_url (self): ritorno inverso ('offerta_create', args = (self.object.id,))' – EsseTi
@EsseTi Quando provo ad usare 'self.object.id' la strada che hai fatto, ottengo 'None' indietro, anche se' self.object' esiste definitivamente e viene salvato nel mio database (MySQL). Qualche idea sul perché sarebbe? –
non proprio. potrebbe essere che non è (ancora) salvato, quindi non esiste un ID. cosa succede se cerchi di accedere ad un altro campo? – EsseTi