summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-10-25 17:56:53 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-10-25 17:56:53 -0400
commit91ae63569df12654e0eae576938066a4079439aa (patch)
treef03f5155a9697eb2029af83e50f2c6a1afcfa57f /lib/sqlalchemy
parentb0cd41dd50e9279b8f7823eadd001f04605990a4 (diff)
downloadsqlalchemy-91ae63569df12654e0eae576938066a4079439aa.tar.gz
- catch the metadata on ScalarTest.test_scalar_proxy, this has been leaving itself
around for a long time - association proxy now returns None for proxied scalar that is also None, rather than raising AttributeError. [ticket:2810]
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/ext/associationproxy.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ext/associationproxy.py b/lib/sqlalchemy/ext/associationproxy.py
index fca2f0008..60875bcf0 100644
--- a/lib/sqlalchemy/ext/associationproxy.py
+++ b/lib/sqlalchemy/ext/associationproxy.py
@@ -242,7 +242,11 @@ class AssociationProxy(interfaces._InspectionAttr):
return self
if self.scalar:
- return self._scalar_get(getattr(obj, self.target_collection))
+ target = getattr(obj, self.target_collection)
+ if target is not None:
+ return self._scalar_get(target)
+ else:
+ return None
else:
try:
# If the owning instance is reborn (orm session resurrect,