The "insert" method returns the id of the inserted row.
The "update_or_insert" method returns the id of the inserted row, but
returns None in case of an update...
Why is it so?
I have a case in which I want to update_or_insert and then further
update the corresponding row (to track the status of a long running
process).
I would rather have the method to always output the id of the updated/
inserted row...
Or is there any use-case you would like to discriminate between the
fact you inserted or update a row?
What do you think?
-Olivier
>From dal.py (I added the proposed modification)
===========
def update_or_insert(self, key=DEFAULT, **values):
if key==DEFAULT:
record = self(**values)
else:
record = self(key)
if record:
record.update_record(**values)
newid = None #------> why not record['id'] ????
else:
newid = self.insert(**values)
return newid