From: Mike Bayer Date: Sat, 20 Jan 2007 03:14:59 +0000 (+0000) Subject: - fix to "proxy=True" behavior on synonym() X-Git-Tag: rel_0_3_4~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7f428e9f51ef125014e5806addf786e3b7ae78d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - fix to "proxy=True" behavior on synonym() --- diff --git a/CHANGES b/CHANGES index 6d6aaf794a..28a3c1270b 100644 --- a/CHANGES +++ b/CHANGES @@ -55,6 +55,7 @@ - some deeper error checking when compiling relations, to detect an ambiguous "primaryjoin" in the case that both sides of the relationship have foreign key references in the primary join condition + - fix to "proxy=True" behavior on synonym() - fixed bug where delete-orphan basically didn't work with many-to-many relationships [ticket:427], backref presence generally hid the symptom - added a mutex to the mapper compilation step. ive been reluctant to add any kind diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index ef7c823600..452af04cc9 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -31,7 +31,6 @@ class SynonymProperty(MapperProperty): class SynonymProp(object): def __set__(s, obj, value): setattr(obj, self.name, value) - self.set(None, obj, value) def __delete__(s, obj): delattr(obj, self.name) def __get__(s, obj, owner): diff --git a/test/orm/mapper.py b/test/orm/mapper.py index 519d236401..3ce8c4f336 100644 --- a/test/orm/mapper.py +++ b/test/orm/mapper.py @@ -396,6 +396,12 @@ class MapperTest(MapperSuperTest): u = sess.query(User).get_by(uname='jack') self.assert_result(u.adlist, Address, *(user_address_result[0]['addresses'][1])) + + assert u not in sess.dirty + u.uname = "some user name" + assert u.uname == "some user name" + assert u.user_name == "some user name" + assert u in sess.dirty def testextensionoptions(self): sess = create_session()