使用SQLAlchemy声明式语法访问表实例的最佳方法
所有关于SQLAlchemy的文档都给出了使用本地表实例的INSERT
和UPDATE
示例(比如tablename.update()
...)
但是,用声明式语法来做这件事似乎有点困难,我需要引用Base.metadata.tables["tablename"]
来获取表的引用。
我是不是应该换个方法来做?在使用声明式语法时,有没有推荐的不同的INSERT
和UPDATE
语法?我是不是应该回到以前的写法?
3 个回答
0
可能会有些混淆,table指的是一个对象,而tablename是这个表的名字,用字符串表示。使用table这个类的属性对我来说是没问题的。
4
通过你声明的类中的 __table__
属性
10
嗯,这对我来说是有效的:
class Users(Base):
__tablename__ = 'users'
__table_args__ = {'autoload':True}
users = Users()
print users.__table__.select()
...选择用户.......