Fix many_many writes coverwriting equal values because of optimisation

This commit is contained in:
Kovid Goyal 2021-09-14 14:59:17 +05:30
parent 27dcbfd8c5
commit d45540686d
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -439,7 +439,8 @@ def many_many(book_id_val_map, db, field, allow_case_change, *args):
# Ignore those items whose value is the same as the current value # Ignore those items whose value is the same as the current value
g = table.book_col_map.get g = table.book_col_map.get
book_id_item_id_map = {k:v for k, v in book_id_item_id_map.items() if v != g(k, missing)} not_set = ()
book_id_item_id_map = {k:v for k, v in book_id_item_id_map.items() if v != g(k, not_set)}
dirtied |= set(book_id_item_id_map) dirtied |= set(book_id_item_id_map)
# Update the book->col and col->book maps # Update the book->col and col->book maps