def load(self, data, partial=False):
# Always use marshmallow partial load to skip required checks
loaded_data, err = self.schema.load(data, partial=True)
if err:
raise ValidationError(err)
self._data = loaded_data
# Map the modified fields list on the the loaded data
self.clear_modified()
for key in loaded_data:
self._mark_as_modified(key)
if partial:
self._collect_partial_fields(data)
else:
self.not_loaded_fields.clear()
# Must be done last given it modify `loaded_data`
self._add_missing_fields()
评论列表
文章目录