def _to_mongo_update(self):
mongo_data = {}
set_data = {}
unset_data = []
for name, field in self._fields.items():
name = field.attribute or name
v = self._data[name]
if name in self._modified_data or (
isinstance(v, BaseDataObject) and v.is_modified()):
v = field.serialize_to_mongo(v)
if v is missing:
unset_data.append(name)
else:
set_data[name] = v
if set_data:
mongo_data['$set'] = set_data
if unset_data:
mongo_data['$unset'] = {k: "" for k in unset_data}
return mongo_data or None
评论列表
文章目录