Maybe don't update an existing entry, or make it conditional with an extra function argument 'update', defaulting to False. I would not expect an unconditional update like this.