2009-08-12 15 views
6

In this Django Doc spiega come creare un formset che consente di modificare i libri appartenenti ad un particolare autore.Django Formset senza istanza

Quello che voglio fare è: Creare un formset che ti permetta di AGGIUNGERE un nuovo libro appartenente ad un NUOVO autore ... Aggiungi il Libro ed i loro Autori nella stessa forma.

Potete gime una luce? Grazie.

risposta

8

Quando si crea un'istanza del modulo e del formset per la visualizzazione iniziale, non è necessario fornire un'istanza, in modo da ottenere solo moduli vuoti.

Quando si passano i dati su POST, è possibile eseguire prima il modulo, salvarlo e ottenere un'istanza. Quindi puoi passare quell'istanza nel formset, in modo che salvi correttamente gli oggetti correlati.

+1

Grazie, luci: se request.method == "POST": forma di libro = forma di libro (request.POST) b = forma di libro .save (commit = False) b.save() formset = PadreFormSet (request.POST, request.FILES, instance = b) if formset.is_valid(): formset.save() Ha funzionato per me, grazie! – panchicore

0

Questo dipende dal fatto che lo stiate facendo da soli o utilizzando l'amministratore incorporato.

Se si sta utilizzando l'amministratore, è possibile utilizzare inlines.

Se stai facendo questo nella tua applicazione, poi tocca a voi. Creare un modulo singolo con campi per un nuovo author e book. Quando l'utente invia il modulo, è il tuo lavoro creare i nuovi record.

Problemi correlati