उपयोग के मामले में दृष्टिकोण सही है। केवल एक चीज जो मैं बदलूंगा वह नीचे की तरह कुछ है
mappings = []
i = 0
for b, foo_x in session.query(Bar, Foo.x).join(Foo, Foo.id==Bar.foo_id):
info = {'id':b.id, 'x': foo_x}
mappings.append(info)
i = i + 1
if i % 10000 == 0:
session.bulk_update_mappings(Bar, mappings)
session.flush()
session.commit()
mappings[:] = []
session.bulk_update_mappings(Bar, mappings)
यह सुनिश्चित करेगा कि आपके पास मेमोरी में बहुत अधिक डेटा नहीं है और आप एक ही समय में डीबी में बहुत बड़ा इंसर्ट नहीं करते हैं