diff options
Diffstat (limited to 'lib/sqlalchemy/sql/base.py')
| -rw-r--r-- | lib/sqlalchemy/sql/base.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/base.py b/lib/sqlalchemy/sql/base.py index f5a9c10c0..391f74772 100644 --- a/lib/sqlalchemy/sql/base.py +++ b/lib/sqlalchemy/sql/base.py @@ -694,8 +694,9 @@ class Generative(HasMemoized): cls = self.__class__ s = cls.__new__(cls) if skip: + # ensure this iteration remains atomic s.__dict__ = { - k: v for k, v in self.__dict__.items() if k not in skip + k: v for k, v in self.__dict__.copy().items() if k not in skip } else: s.__dict__ = self.__dict__.copy() |
