summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-12-24 15:33:47 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-12-24 15:33:47 +0000
commit237bf917f7968a8d5fdb18fd9a0624d11f9a8144 (patch)
tree3a7b5fe029032902a54cc5b401a6fd9fc91e9a2d /lib/sqlalchemy
parenta7df1ed6199ce90bd63928c57456967b16145e3d (diff)
downloadsqlalchemy-237bf917f7968a8d5fdb18fd9a0624d11f9a8144.tar.gz
the 'column' function is optional to point a property to a column when constructing a mapper
can also be specified as a list to indicate overlap mapper columns come from its table, no need to add from given columns
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/mapping/mapper.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py
index df308a1a2..5a04ea4b2 100644
--- a/lib/sqlalchemy/mapping/mapper.py
+++ b/lib/sqlalchemy/mapping/mapper.py
@@ -99,13 +99,13 @@ class Mapper(object):
else:
for t in self.tables + [self.table]:
try:
- list = self.pks_by_table[t]
+ l = self.pks_by_table[t]
except KeyError:
- list = self.pks_by_table.setdefault(t, util.HashSet())
+ l = self.pks_by_table.setdefault(t, util.HashSet())
if not len(t.primary_key):
raise "Table " + t.name + " has no primary key columns. Specify primary_key argument to mapper."
for k in t.primary_key:
- list.append(k)
+ l.append(k)
# make table columns addressable via the mapper
self.columns = util.OrderedProperties()
@@ -123,8 +123,9 @@ class Mapper(object):
if properties is not None:
for key, prop in properties.iteritems():
if isinstance(prop, schema.Column):
- self.columns[key] = prop
prop = ColumnProperty(prop)
+ elif isinstance(prop, list) and isinstance(prop[0], schema.Column):
+ prop = ColumnProperty(*prop)
self.props[key] = prop
if isinstance(prop, ColumnProperty):
for col in prop.columns: