ORM на Django управлява връзките към базата данни в локални променливи на нишки. Така че всяка различна нишка, която има достъп до ORM, ще създаде своя собствена връзка. Можете да видите това в първите няколко реда на django/db/backends/__init__.py
.
Ако искате да ограничите броя на направените връзки към базата данни, трябва да ограничите броя на различните нишки, които действително имат достъп до ORM. Решение може да бъде внедряването на услуга, която делегира ORM заявки към набор от специални ORM нишки. За да предавате заявките и техните резултати от и към други нишки, ще трябва да внедрите някакъв механизъм за предаване на съобщения. Тъй като това е типичен проблем за производител/потребител, документите на Python относно нишките трябва да дадат някои съвети как да се постигне това.
Редактиране: Току-що потърсих в Google „обединяване на връзките на django“. Има много хора, които се оплакват, че Django не предоставя подходящ пул за връзка. Някои от тях успяха да интегрират отделен пакет за обединяване. За PostgreSQL бих погледнал мидълуера на pgpool.