diff options
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/ext.py')
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/ext.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/ext.py b/lib/sqlalchemy/dialects/postgresql/ext.py index 1bd1e5258..a93a3477d 100644 --- a/lib/sqlalchemy/dialects/postgresql/ext.py +++ b/lib/sqlalchemy/dialects/postgresql/ext.py @@ -12,6 +12,7 @@ from ...sql import elements from ...sql import expression from ...sql import functions from ...sql import roles +from ...sql import schema from ...sql.schema import ColumnCollectionConstraint @@ -240,8 +241,14 @@ class ExcludeConstraint(ColumnCollectionConstraint): ) ] - def copy(self, **kw): - elements = [(col, self.operators[col]) for col in self.columns.keys()] + def copy(self, target_table=None, **kw): + elements = [ + ( + schema._copy_expression(expr, self.parent, target_table), + self.operators[expr.name], + ) + for expr in self.columns + ] c = self.__class__( *elements, name=self.name, |
