diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-22 03:25:43 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-22 03:25:43 +0000 |
commit | d22f5edcae0f29c6542e800660bc4fef9b3f12cb (patch) | |
tree | 855b9c0b469bdff9d6e14d55da3af9d3af282d77 /lib/sqlalchemy/mapping/properties.py | |
parent | 9ebac6151a743b5f841e715d04b551d8995e0e61 (diff) | |
download | sqlalchemy-d22f5edcae0f29c6542e800660bc4fef9b3f12cb.tar.gz |
deferred property, checks for NULL primary key components and returns None
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r-- | lib/sqlalchemy/mapping/properties.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py index f3862ddd9..922aab453 100644 --- a/lib/sqlalchemy/mapping/properties.py +++ b/lib/sqlalchemy/mapping/properties.py @@ -80,7 +80,10 @@ class DeferredColumnProperty(ColumnProperty): def lazyload(): clause = sql.and_() for primary_key in self.parent.pks_by_table[self.parent.primarytable]: - clause.clauses.append(primary_key == self.parent._getattrbycolumn(instance, primary_key)) + attr = self.parent._getattrbycolumn(instance, primary_key) + if not attr: + return None + clause.clauses.append(primary_key == attr) return sql.select([self.parent.table.c[self.key]], clause).scalar() return lazyload |