From: Mike Bayer Date: Thu, 15 Sep 2005 02:19:16 +0000 (+0000) Subject: foreign key relatinoships are defined primarily at the schema level X-Git-Tag: rel_0_1_0~738 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=356063134df67f7aa59b3f99f06e718f1bebe5b6;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git foreign key relatinoships are defined primarily at the schema level --- diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 7bdaf1e69f..de252f44ce 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -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] diff --git a/test/mapper.py b/test/mapper.py index 5618d1261b..c61f55c320 100644 --- a/test/mapper.py +++ b/test/mapper.py @@ -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,