Image

Imagephd wrote in Imageru_python

Categories:

SQLObject 3.4

Выпущена библиотека SQLObject 3.4.0. Изменения:



  • Прекращена поддержка Python 2.6; минимальна версия теперь Python 2.7 (и 3.4+);

  • Исправлена работа с драйверами py-postgresql и PyGreSQL.


Полный список новостей (на английском) можно посмотреть здесь: 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