The ID is stored as id_store.id (if id_store is set). If the integer of the
input is valid (if start_at_1, >= 0, else >= -1), but <0 or (if start_at_1)
<1, calculate new ID: lowest unused ID >=0 or (if start_at_1) >= 1. None is
The ID is stored as id_store.id (if id_store is set). If the integer of the
input is valid (if start_at_1, >= 0, else >= -1), but <0 or (if start_at_1)
<1, calculate new ID: lowest unused ID >=0 or (if start_at_1) >= 1. None is