diff --git a/gluon/dal.py b/gluon/dal.py index ba83a02f..4a41fe10 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -9205,7 +9205,11 @@ class Table(object): if record: response = self.validate_and_update(_key, **fields) - response.id = {'id': self(**fields).id} + # Now primary key must be returned + primary_keys = {} + for key in self._primarykey: + primary_keys[key] = getattr(record, key) + response.id = primary_keys else: response = self.validate_and_insert(**fields) return response