]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(no commit message)
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 16 Jul 2005 06:32:43 +0000 (06:32 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 16 Jul 2005 06:32:43 +0000 (06:32 +0000)
test/mapper.py

index 048e8673f32449219e4ae898bf271acceaf90794..735264f81cb12e27dcf6a7e330af570a8610ae89 100644 (file)
@@ -3,7 +3,7 @@ import unittest, sys
 
 import sqlalchemy.databases.sqlite as sqllite
 
-db = sqllite.engine('querytest.db', echo = False)
+db = sqllite.engine('querytest.db', echo = True)
 
 from sqlalchemy.sql import *
 from sqlalchemy.schema import *
@@ -12,7 +12,11 @@ import sqlalchemy.mapper as mapper
 
 class User:
     def __repr__(self):
-        return "User: " + repr(self.user_id) + " " + self.user_name
+        return "User: " + repr(self.user_id) + " " + self.user_name + repr(getattr(self, 'addresses', None))
+
+class Address:
+    def __repr__(self):
+        return "Address: " + repr(self.user_id) + " " + self.email_address
 
 class MapperTest(PersistTest):
     
@@ -21,18 +25,39 @@ class MapperTest(PersistTest):
             Column('user_id', INT, primary_key = True),
             Column('user_name', VARCHAR(20)),
         )
+
+        self.addresses = Table('email_addresses', db,
+            Column('address_id', INT, primary_key = True),
+            Column('user_id', INT),
+            Column('email_address', VARCHAR(20)),
+        )
         
         self.users.build()
         self.users.insert().execute(user_id = 7, user_name = 'jack')
         self.users.insert().execute(user_id = 8, user_name = 'ed')
         
+        self.addresses.build()
+        self.addresses.insert().execute(address_id = 1, user_id = 7, email_address = "jack@bean.com")
+        self.addresses.insert().execute(address_id = 2, user_id = 8, email_address = "ed@wood.com")
+        self.addresses.insert().execute(address_id = 3, user_id = 8, email_address = "ed@lala.com")
+        
     def testmapper(self):
         m = mapper.Mapper(User, self.users)
         l = m.select()
         print repr(l)
+        print repr(m.identitymap.map)
 
+    def testeager(self):
+        m = mapper.Mapper(User, self.users, properties = dict(
+            addresses = mapper.EagerLoader(mapper.Mapper(Address, self.addresses), self.users.c.user_id==self.addresses.c.user_id)
+        ))
+        l = m.select()
+        print repr(l)
+        
     def tearDown(self):
         self.users.drop()
+        self.addresses.drop()
+        
         
 if __name__ == "__main__":
     unittest.main()