2015-10-08 8 views
5

Ho un prodotto modello e un prodotto corrispondente e ho bisogno di aggiornare il magazzino con diciamo 5 prodotto, quindi inserisco i dati per il prodotto e chiedo quanti articoli di questo prodotto voglio conservare, perché tutti i prodotti Salva sono gli stessi, tranne che per Django ID predefinito, stavo pensando di fare qualcosa di simile nella vista:Come posso salvare lo stesso modulo più di una volta in Django 1.8?

for i in range(0, 5): 
    form.save() 

Purtroppo questo salva solo l'ultima forma.

In quale altro modo posso ottenere ciò di cui ho bisogno?

+1

Salva uno, poi [creare cloni di quello dalla forma] (http://stackoverflow.com/questions/4733609/how-do-i-clone-a-django-model-instance-object -e-save-it-to-the-database) –

risposta

4

La chiamata al salvataggio con commit=False restituisce un'istanza che non viene salvata nel database.

instance = form.save(commit=False) 

È possibile salvare l'istanza più volte in un ciclo. Impostando la chiave primaria su Nessuno, un nuovo oggetto verrà salvato ogni volta.

for i in range(0, 5): 
    instance.pk = None 
    instance.save() 
+0

Ha funzionato! Grazie mille Alasdair –

+0

grazie tutto quello che dovevo fare era mettere la chiave primaria su Nessuno. Grazie mille apprezzato. – ashim888

Problemi correlati