Лучший способ получить доступ к экземплярам таблицы при использовании декларативного синтаксиса SQLAlchemy - PullRequest
7 голосов
/ 16 сентября 2008

Все документы для SQLAlchemy дают INSERT и UPDATE примеров с использованием экземпляра локальной таблицы (например, tablename.update() ...)

С декларативным синтаксисом это кажется трудным, мне нужно сослаться на Base.metadata.tables["tablename"], чтобы получить ссылку на таблицу.

Должен ли я сделать это по-другому? Существует ли другой синтаксис для INSERT и UPDATE, рекомендуемый при использовании декларативного синтаксиса? Должен ли я просто перейти на старый путь?

Ответы [ 3 ]

10 голосов
/ 01 октября 2008

ну у меня это работает:

class Users(Base):
    __tablename__   = 'users'
    __table_args__  = {'autoload':True}

users = Users()
print users.__table__.select()

... ВЫБРАТЬ пользователей .......

3 голосов
/ 17 сентября 2008

через атрибут __table__ в вашем декларативном классе

0 голосов
/ 24 ноября 2008

Может быть некоторая путаница между table (объект) и tablename (имя таблицы, строка). Использование атрибута класса table отлично работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...