diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-24 15:33:47 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-24 15:33:47 +0000 |
| commit | 237bf917f7968a8d5fdb18fd9a0624d11f9a8144 (patch) | |
| tree | 3a7b5fe029032902a54cc5b401a6fd9fc91e9a2d /lib/sqlalchemy | |
| parent | a7df1ed6199ce90bd63928c57456967b16145e3d (diff) | |
| download | sqlalchemy-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.py | 9 |
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: |
