From: Mike Bayer Date: Mon, 22 Dec 2008 15:10:06 +0000 (+0000) Subject: - CHANGES update X-Git-Tag: rel_0_5_0~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b563084d0b4958936e1216dd68d35a91a9721c2c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - CHANGES update - added slightly more preemptive message for bad remote_side --- diff --git a/CHANGES b/CHANGES index 2be11ad2e5..323698b8e9 100644 --- a/CHANGES +++ b/CHANGES @@ -227,7 +227,11 @@ CHANGES at the class level, e.g. MyClass.aproxy. Previously this evaluated to None. - +- declarative + - The full list of arguments accepted as string by backref() + includes 'primaryjoin', 'secondaryjoin', 'secondary', + 'foreign_keys', 'remote_side', 'order_by'. + 0.5.0rc4 ======== - features diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 084a539d18..5bd3c0842c 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -788,6 +788,10 @@ class RelationProperty(StrategizedProperty): ] else: self.local_remote_pairs = criterion_as_pairs(self.primaryjoin, consider_as_foreign_keys=self.remote_side, any_operator=True) + + if not self.local_remote_pairs: + raise sa_exc.ArgumentError("Relation %s could not determine any local/remote column pairs from remote side argument %r" % (self, self.remote_side)) + else: if self.viewonly: eq_pairs = self.synchronize_pairs