Почему бы вам не использовать модуль напрямую (как указывалось ранее, модели являются синглетонами).Если вы создаете такой модуль, как:
# mymodule.py
from mydb import Connection
connection = Connection('host', 'port')
, вы можете использовать механизм импорта, и экземпляр connection
будет везде одинаковым.
from mymodule import connection
Конечно, вы можете определитьгораздо более сложная инициализация connection
(возможно, через написание собственного класса), но дело в том, что Python будет инициализировать модуль только один раз и предоставлять одинаковые объекты для каждого последующего вызова.
Я считаю, что шаблоны Singleton (или Borg) имеют очень специфические приложения в Python, и по большей части вы должны полагаться на прямой импорт, пока не доказано обратное.