From a174225de35bdc554893c2ea438ccf45452fe441 Mon Sep 17 00:00:00 2001 From: Friedrich Lindenberg Date: Wed, 4 Dec 2013 17:55:42 +0100 Subject: [PATCH] Change code to use copy(). --- dataset/persistence/table.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dataset/persistence/table.py b/dataset/persistence/table.py index 81e2b76..ebff3cd 100644 --- a/dataset/persistence/table.py +++ b/dataset/persistence/table.py @@ -1,4 +1,5 @@ import logging +import copy from itertools import count from sqlalchemy.sql import and_, expression @@ -130,10 +131,10 @@ class Table(object): self._ensure_columns(row, types=types) # Don't update the key itself, so remove any keys from the row dict - clean_row = {} - for key, value in row.items(): - if key not in keys: - clean_row[key] = value + clean_row = copy.copy(row) + for key in keys: + if key in clean_row.keys(): + del clean_row[key] try: filters = self._args_to_clause(dict(clause))