itembase.exists bug
Exists check overwrites the item to update with the existing one. Thus one cannot update an item if one uses item.update(client). On the other hand, client.update_item(item) works.
Exists check overwrites the item to update with the existing one. Thus one cannot update an item if one uses item.update(client). On the other hand, client.update_item(item) works.