Мы абсолютно избалованы SqlAlchemy.
То, что следует ниже, взято непосредственно из учебника ,
и действительно легко установить и начать работать.
И поскольку это делается так часто,
Майк Байер сделал это еще проще
с «все в одном» «декларативным» методом .
Настройка вашей среды (я использую базу данных SQLite в памяти для тестирования):
>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:', echo=True)
>>> from sqlalchemy import Table, Column, Integer, String, MetaData
>>> metadata = MetaData()
Определите ваш стол:
>>> players_table = Table('players', metadata,
... Column('id', Integer, primary_key=True),
... Column('name', String),
... Column('score', Integer)
... )
>>> metadata.create_all(engine) # create the table
Если у вас включено ведение журнала, вы увидите SQL, который SqlAlchemy создает для вас.
Определите свой класс:
>>> class Player(object):
... def __init__(self, name, score):
... self.name = name
... self.score = score
...
... def __repr__(self):
... return "<Player('%s','%s')>" % (self.name, self.score)
Сопоставьте класс со своим столом:
>>> from sqlalchemy.orm import mapper
>>> mapper(Player, players_table)
<Mapper at 0x...; Player>
Создать игрока:
>>> a_player = Player('monty', 0)
>>> a_player.name
'monty'
>>> a_player.score
0
Вот и все, теперь у вас есть игровой стол.
Кроме того, SqlAlchemy googlegroup великолепна.
Майк Байер очень быстро отвечает на вопросы.