diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 04:29:55 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-06-22 04:29:55 +0000 |
commit | 0ab010867f39e6ae20af23b36b3b78f9948ec181 (patch) | |
tree | 9d745ab8b1281e97eb2ead5947eca16336d5c763 /test/orm/compile.py | |
parent | bb1fde2042f389e7a21f070b11fdbe7c5c5cd535 (diff) | |
download | sqlalchemy-0ab010867f39e6ae20af23b36b3b78f9948ec181.tar.gz |
more compilation fixes
Diffstat (limited to 'test/orm/compile.py')
-rw-r--r-- | test/orm/compile.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/orm/compile.py b/test/orm/compile.py index c927ae53b..007edd596 100644 --- a/test/orm/compile.py +++ b/test/orm/compile.py @@ -117,5 +117,42 @@ class CompileTest(testbase.AssertMixin): except exceptions.ArgumentError, e: assert str(e).index("Backrefs do not match") > -1 + def testthree(self): + metadata = BoundMetaData(testbase.db) + node_table = Table("node", metadata, + Column('node_id', Integer, primary_key=True), + Column('name_index', Integer, nullable=True), + ) + node_name_table = Table("node_name", metadata, + Column('node_name_id', Integer, primary_key=True), + Column('node_id', Integer, ForeignKey('node.node_id')), + Column('host_id', Integer, ForeignKey('host.host_id')), + Column('name', String(64), nullable=False), + ) + host_table = Table("host", metadata, + Column('host_id', Integer, primary_key=True), + Column('hostname', String(64), nullable=False, + unique=True), + ) + metadata.create_all() + try: + node_table.insert().execute(node_id=1, node_index=5) + class Node(object):pass + class NodeName(object):pass + class Host(object):pass + + node_mapper = mapper(Node, node_table) + host_mapper = mapper(Host, host_table) + node_name_mapper = mapper(NodeName, node_name_table, + properties = { + 'node' : relation(Node, backref=backref('names')), + 'host' : relation(Host), + } + ) + sess = create_session() + assert sess.query(Node).get(1).names == [] + finally: + metadata.drop_all() + if __name__ == '__main__': testbase.main() |