Доброго времени суток. Лирическое отступление.. Я начинающий программист на python в своё время программировавший на С++ + Qt. Обычно работу с базой данных я организовывал так: создавался класс обёртки над БД который отвечал за коннект с базой, обработку ошибок и т д… и базовый класс sql команды. Класс обёртки брал на себя основную часть работы. Класс команды наследовался от базового и просто переопределял метод execute которому передавалась ссылка на объект который мог выполнять запросы. А далее выполнялись сами запросы к бд.
Перейдя на питон я не обнаружил таких привычных вещей как например статус соединения с бд и множество всего остального к чему так привык. Практически все примеры которые я вижу содержат лишь что-то вроде следующего:
import psycopg2 as dbapi2
db = dbapi2.connect(“dbname=%s user=%s password=%s host=%s port=%d” % (dbname, username, password, host, port))
curs = db.cursor()
curs.execute(“SELECT file_name FROM picture”)
row = curs.fetchone()
if row != None:
while row != None:
….
row = curs.fetchone
Но мне бы хотелось чтобы какой-то класс овтечал полностью за работу с базой и я не плодил всюду по коду открытие соединения, и проч. Как это реализовать на питон я не совсем понимаю. Было бы здорово если бы вы привели какие-нибудь примеры или ссылки на код как правильно организовывать такую работу. Не на примере обычных туториалов в 10 строк а что=-то более серьёзное.