2015-10-08 12 views
5

Model ürünüm ve buna uygun bir form Ürünüm var ve 5 ürün ile stokları güncellemeliyiz, bu yüzden Ürün için veri girdim ve bu ürünün kaç tane ürününü saklamak istediğimi soruyorum çünkü tüm ürünlerAynı formu Django 1.8'de bir defadan daha nasıl kaydedebilirim?

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

Ne yazık ki bu sadece son şeklini kaydeder: Django varsayılan kimliği için, ben görünümde böyle bir şey yaptığını düşünüyordum dışında tasarruf, aynıdır.

İhtiyacım olanı başka nasıl elde edebilirim?

+1

fazla bir, sonra (http://stackoverflow.com/questions/4733609/how-do-i-clone-a-django-model-instance-object [formundan birinin klonlar oluşturmak] -ve-save-it-the-database) –

cevap

4

Kaydetme, commit=False ile kaydetme, veritabanına kaydedilmeyen bir örneği döndürür.

instance = form.save(commit=False) 

Örneği, bir döngüde birden çok kez kaydedebilirsiniz. Birincil anahtarı Yok olarak ayarlayarak, her seferinde yeni bir nesne kaydedilecektir.

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

Çalıştı! Çok teşekkürler Alasdair –

+0

Teşekkür etmek için tüm gerekli birincil anahtar koymak oldu. Sağolun, çok müteşekkirim. – ashim888