]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
foreign key relatinoships are defined primarily at the schema level
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 15 Sep 2005 02:19:16 +0000 (02:19 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 15 Sep 2005 02:19:16 +0000 (02:19 +0000)
lib/sqlalchemy/util.py
test/mapper.py

index 7bdaf1e69fade9489eb354c799c78d06a51c3bd7..de252f44ce150159aef2166ef86194ebadd6e805 100644 (file)
@@ -115,6 +115,9 @@ class HashSet(object):
     def append(self, item):
         self.map[item] = item
  
+    def __len__(self):
+        return len(self.map)
+        
     def __delitem__(self, key):
         del self.map[key]
  
index 5618d1261b2fbf3dde54630d940c4e4bd9055d0f..c61f55c3208a7acc78599a033a4b3724a38f0f1c 100644 (file)
@@ -383,8 +383,11 @@ class SaveTest(AssertMixin):
 
     def testbackwardsonetoone(self):
         # test 'backwards'
+#        m = mapper(Address, addresses, properties = dict(
+#            user = relation(User, users, foreignkey = addresses.c.user_id, primaryjoin = users.c.user_id == addresses.c.user_id, lazy = True, uselist = False)
+#        ))
         m = mapper(Address, addresses, properties = dict(
-            user = relation(User, users, foreignkey = addresses.c.user_id, primaryjoin = users.c.user_id == addresses.c.user_id, lazy = True, uselist = False)
+            user = relation(User, users, lazy = True, uselist = False)
         ))
         data = [
             {'user_name' : 'thesub' , 'email_address' : 'bar@foo.com'},
@@ -545,19 +548,14 @@ class SaveTest(AssertMixin):
             def __repr__(self):
                 return "\nIKAssociation " + repr(self.item_id) + " " + repr(self.keyword)
 
-        itemkeywords = Table('itemkeywords', db,
-            Column('item_id', INT, primary_key = True),
-            Column('keyword_id', INT, primary_key = True)
-        )
-
         items = orderitems
 
         keywordmapper = mapper(Keyword, keywords)
 
         m = mapper(Item, items, properties = dict(
                 keywords = relation(IKAssociation, itemkeywords, lazy = False, properties = dict(
-                    keyword = relation(Keyword, keywords, lazy = False, foreignkey = itemkeywords.c.keyword_id, uselist = False)
-                ))
+                    keyword = relation(Keyword, keywords, lazy = False, uselist = False)
+                ), primary_keys = [itemkeywords.c.item_id, itemkeywords.c.keyword_id])
             ), echo = True)
 
         data = [Item,