def __set_gj_flag_sub_field(self, instance, fld, cur_depth):
"""Set $$good_json$$ flag to subfield."""
from .fields import FollowReferenceField
def set_good_json(fld):
setattr(fld, "$$good_json$$", True)
setattr(fld, "$$cur_depth$$", cur_depth)
@singledispatch
def set_flag_recursive(fld, instance):
set_good_json(fld)
@set_flag_recursive.register(db.ListField)
def set_flag_list(fld, instance):
set_good_json(fld.field)
@set_flag_recursive.register(db.EmbeddedDocumentField)
def set_flag_emb(fld, instance):
if isinstance(instance, Helper):
instance.begin_goodjson(cur_depth)
@set_flag_recursive.register(FollowReferenceField)
def set_flag_self(fld, instance):
set_good_json(fld)
set_flag_recursive(fld, instance)
评论列表
文章目录