def __unset_gj_flag_sub_field(self, instance, fld, cur_depth):
"""Unset $$good_json$$ to subfield."""
from .fields import FollowReferenceField
def unset_flag(fld):
setattr(fld, "$$good_json$$", None)
setattr(fld, "$$cur_depth$$", None)
delattr(fld, "$$good_json$$")
delattr(fld, "$$cur_depth$$")
@singledispatch
def unset_flag_recursive(fld, instance):
unset_flag(fld)
@unset_flag_recursive.register(db.ListField)
def unset_flag_list(fld, instance):
unset_flag(fld.field)
@unset_flag_recursive.register(db.EmbeddedDocumentField)
def unset_flag_emb(fld, instance):
if isinstance(instance, Helper):
instance.end_goodjson(cur_depth)
@unset_flag_recursive.register(FollowReferenceField)
def unset_flag_self(fld, instance):
unset_flag(fld)
unset_flag_recursive(fld, instance)
评论列表
文章目录