diff options
Diffstat (limited to 'lib/sqlalchemy/schema.py')
-rw-r--r-- | lib/sqlalchemy/schema.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 12b3c7707..857fc3cf7 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -248,10 +248,12 @@ class Column(SchemaItem): self.default = kwargs.pop('default', None) self.foreign_key = None self._orig = None + self._parent = None if len(kwargs): raise ArgumentError("Unknown arguments passed to Column: " + repr(kwargs.keys())) original = property(lambda s: s._orig or s) + parent = property(lambda s:s._parent or s) engine = property(lambda s: s.table.engine) def __repr__(self): @@ -307,6 +309,7 @@ class Column(SchemaItem): c = Column(name or self.name, self.type, fk, self.default, key = name or self.key, primary_key = self.primary_key, nullable = self.nullable, hidden = self.hidden) c.table = selectable c._orig = self.original + c._parent = self if not c.hidden: selectable.columns[c.key] = c if self.primary_key: @@ -369,7 +372,7 @@ class ForeignKey(SchemaItem): def references(self, table): """returns True if the given table is referenced by this ForeignKey.""" - return table._get_col_by_original(self.column) is not None + return table._get_col_by_original(self.column, False) is not None def _init_column(self): # ForeignKey inits its remote column as late as possible, so tables can |