selectable.py

来自「SQLAlchemy. 经典的Python ORM框架。学习必看。」· Python 代码 · 共 51 行

PY
51
字号
"""all tests involving generic mapping to Select statements"""import testenv; testenv.configure_for_tests()from sqlalchemy import *from sqlalchemy import exceptionsfrom sqlalchemy.orm import *from testlib import *from testlib.fixtures import *from query import QueryTestclass SelectableNoFromsTest(ORMTest):    def define_tables(self, metadata):        global common_table        common_table = Table('common', metadata,            Column('id', Integer, primary_key=True),            Column('data', Integer),            Column('extra', String(45)),        )    def test_no_tables(self):        class Subset(object):            pass        selectable = select(["x", "y", "z"]).alias('foo')        try:            mapper(Subset, selectable)            compile_mappers()            assert False        except exceptions.InvalidRequestError, e:            assert str(e) == "Could not find any Table objects in mapped table 'SELECT x, y, z'", str(e)    def test_basic(self):        class Subset(Base):            pass        subset_select = select([common_table.c.id, common_table.c.data]).alias('subset')        subset_mapper = mapper(Subset, subset_select)        sess = create_session(bind=testing.db)        l = Subset()        l.data = 1        sess.save(l)        sess.flush()        sess.clear()        assert [Subset(data=1)] == sess.query(Subset).all()    # TODO: more tests mapping to selectsif __name__ == '__main__':    testenv.main()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?