13 + if '_id' in data and record_id is not None:
14 + assert data['_id'] == record_id
15 + elif record_id is not None:
16 + self._data['_id'] = record_id
This would be cleaner with two levels of "if".
if record_id is not None: # Explicit setting, so try to use it.
if data.get('_id', None) is not None: # Overwrite _id if it is None.
self._data['_id'] = record_id
else: # _id already set. Verify that the explicit value agrees.
assert self._data['_id'] == record_id, "record_id doesn't match value in data."
Note the data.get() and the second parameter to assert .
13 + if '_id' in data and record_id is not None:
14 + assert data['_id'] == record_id
15 + elif record_id is not None:
16 + self._data['_id'] = record_id
This would be cleaner with two levels of "if".
if record_id is not None: # Explicit setting, so try to use it. _data[' _id'] = record_id
if data.get('_id', None) is not None: # Overwrite _id if it is None.
self.
else: # _id already set. Verify that the explicit value agrees.
assert self._data['_id'] == record_id, "record_id doesn't match value in data."
Note the data.get() and the second parameter to assert .