diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-20 15:35:43 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-20 15:35:43 -0500 |
commit | e3ca3a773ff8c36126fe584b69e380c67791e2bf (patch) | |
tree | 3185519e58037d0da14846f8f3568fdbf8128628 /lib/sqlalchemy/schema.py | |
parent | e187cc538d6fa9fe7fff8aa939dd787c07345f33 (diff) | |
parent | 00a46457c1154975e17109c9e292e5d5bd6b6468 (diff) | |
download | sqlalchemy-e3ca3a773ff8c36126fe584b69e380c67791e2bf.tar.gz |
- merge FromObj cleanup, immutable .c attribute patch, [ticket:1917]
Diffstat (limited to 'lib/sqlalchemy/schema.py')
-rw-r--r-- | lib/sqlalchemy/schema.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 50df8b9b6..ff953cef7 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -229,7 +229,7 @@ class Table(SchemaItem, expression.TableClause): self.constraints = set() self._columns = expression.ColumnCollection() self._set_primary_key(PrimaryKeyConstraint()) - self._foreign_keys = util.OrderedSet() + self.foreign_keys = util.OrderedSet() self._extra_dependencies = set() self.kwargs = {} if self.schema is not None: @@ -284,7 +284,7 @@ class Table(SchemaItem, expression.TableClause): if include_columns: for c in self.c: if c.name not in include_columns: - self.c.remove(c) + self._columns.remove(c) for key in ('quote', 'quote_schema'): if key in kwargs: @@ -308,10 +308,13 @@ class Table(SchemaItem, expression.TableClause): "Invalid argument(s) for Table: %r" % kwargs.keys()) self.kwargs.update(kwargs) + def _init_collections(self): + pass + def _set_primary_key(self, pk): - if getattr(self, '_primary_key', None) in self.constraints: - self.constraints.remove(self._primary_key) - self._primary_key = pk + if self.primary_key in self.constraints: + self.constraints.remove(self.primary_key) + self.primary_key = pk self.constraints.add(pk) for c in pk.columns: @@ -331,10 +334,6 @@ class Table(SchemaItem, expression.TableClause): def key(self): return _get_table_key(self.name, self.schema) - @property - def primary_key(self): - return self._primary_key - def __repr__(self): return "Table(%s)" % ', '.join( [repr(self.name)] + [repr(self.metadata)] + @@ -919,7 +918,7 @@ class Column(SchemaItem, expression.ColumnClause): nullable = self.nullable, quote=self.quote, _proxies=[self], *fk) c.table = selectable - selectable.columns.add(c) + selectable._columns.add(c) if self.primary_key: selectable.primary_key.add(c) for fn in c._table_events: |