summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext/declarative.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-03-25 17:25:32 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-03-25 17:25:32 -0400
commit03573c0517dc27f90f1a07ef8ad67a0692977a24 (patch)
tree883db5b8e492f9ed02b58bf61266fd4f88724bde /lib/sqlalchemy/ext/declarative.py
parent3f0bd7269bda6a9fa833c7d6ba2f393688ffd524 (diff)
downloadsqlalchemy-03573c0517dc27f90f1a07ef8ad67a0692977a24.tar.gz
- Using a mixin won't break if the mixin implements an
unpredictable __getattribute__(), i.e. Zope interfaces. [ticket:1746]
Diffstat (limited to 'lib/sqlalchemy/ext/declarative.py')
-rw-r--r--lib/sqlalchemy/ext/declarative.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py
index 775efbff1..435d38161 100644
--- a/lib/sqlalchemy/ext/declarative.py
+++ b/lib/sqlalchemy/ext/declarative.py
@@ -545,7 +545,7 @@ def _as_declarative(cls, classname, dict_):
names = dir(base)
if not _is_mapped_class(base):
for name in names:
- obj = getattr(base,name)
+ obj = getattr(base,name, None)
if isinstance(obj, Column):
dict_[name]=column_copies[obj]=obj.copy()
get_mapper_args = get_mapper_args or getattr(base,'__mapper_args__',None)