django-bulk-update
here on GitHub का उपयोग करने पर विचार करें।
स्थापित करें: pip install django-bulk-update
लागू: (परियोजनाओं रीडमी फ़ाइल से सीधे ले जाया कोड)
from bulk_update.helper import bulk_update
random_names = ['Walter', 'The Dude', 'Donny', 'Jesus']
people = Person.objects.all()
for person in people:
r = random.randrange(4)
person.name = random_names[r]
bulk_update(people) # updates all columns using the default db
अद्यतन: मार्क टिप्पणियाँ इस पर पंक्तियों के हजारों को अद्यतन करने के लिए उपयुक्त नहीं है में बताते हैं के रूप में एक बार। हालांकि यह छोटे बैचों के लिए 10 से 100 के लिए उपयुक्त है। आपके लिए सही बैच का आकार आपके सीपीयू और क्वेरी जटिलता पर निर्भर करता है। यह उपकरण एक डंप ट्रक की तुलना में एक व्हील बैरो की तरह है।
स्रोत
2015-02-16 22:42:27
आप बैच डालने की तलाश में हो सकते हैं। Http://stackoverflow.com/questions/4294088/accelerate-bulk-insert-using-djangos-orm – Pramod
पर एक नज़र डालें, मैं नया डेटा डालना पसंद नहीं करता - बस मौजूदा अपडेट करें। – Thomas
शायद select_for_update की मदद से? https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.select_for_update –