newdb: Fix default value for identifiers is mutable

This commit is contained in:
Kovid Goyal 2013-08-01 07:41:49 +05:30
parent 8713ebb0b1
commit e2c3bb40a5

View File

@ -410,6 +410,9 @@ class IdentifiersField(ManyToManyField):
def for_book(self, book_id, default_value=None): def for_book(self, book_id, default_value=None):
ids = self.table.book_col_map.get(book_id, ()) ids = self.table.book_col_map.get(book_id, ())
if not ids: if not ids:
try:
ids = default_value.copy() # in case default_value is a mutable dict
except AttributeError:
ids = default_value ids = default_value
return ids return ids