SQLObject 3.7
Выпущена библиотека SQLObject 3.7.0. Изменения:
- Добавлены сигналы на
commitиrollback; pull-request Scott Stahl. - Исправлены параметры SSL для
MySQL-connector; уconnectorсвой собственный особый стиль именования этих параметров, отличающийся от остальных драйверов MySQL; bug-report и тестирование Christophe Popov. - Убрана работа с драйвером
psycopg1. Драйверpsycopgтеперь просто синоним дляpsycopg2. - В
tox.iniдрайверpsycopg2ставится из пакета psycopg2-binary.
Полный список новостей (на английском) можно посмотреть здесь: http://sqlobject.org/News.html.
SQLObject - это библиотека объектно-реляционного отображения. Каждая таблица представлена классом, каждая строка таблицы - экземпляром этого класса, каждая колонка (атрибут) - питоновским атрибутом. Библиотека SQLObject проста в использовании; не претендует на универсальность и всеохватность, но основные операции с SQL поддерживает. SQLObject работает со следующими БД: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL и MaxDB (SAPDB). Работает с Python 2.7 и 3.4+.
Пример - простой класс, представлюящий талицу SQL:
>>> from sqlobject import *
>>>
>>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
>>>
>>> class Person(SQLObject):
... fname = StringCol()
... mi = StringCol(length=1, default=None)
... lname = StringCol()
...
>>> Person.createTable()
Создание и использование объекта:
>>> p = Person(fname="John", lname="Doe") >>> p>>> p.fname 'John' >>> p.mi = 'Q' >>> p2 = Person.get(1) >>> p2 >>> p is p2 True
Запросы:
>>> p3 = Person.selectBy(lname="Doe")[0] >>> p3>>> pc = Person.select(Person.q.lname=="Doe").count() >>> pc 1
