test_all_name_list.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:django-returnfields 作者: podhmo 项目源码 文件源码
def setUp(self):
        from .models import User
        from .serializers import SkillSerializer

        contextual = self._getTarget()

        def has_nested(serializer_class, key_name, default):
            def _has_nested(token, context):
                if context.get(key_name, False):
                    name_list = token.translator.translate(serializer_class, None, context)
                    return ["{}__{}".format(token.queryname, name) for name in name_list]
                else:
                    return default
            return _has_nested

        class ForContextualTestUserSerializer(serializers.ModelSerializer):
            skills = serializers.SerializerMethodField()

            class Meta:
                model = User
                fields = ('id', 'username', 'skills')

            @contextual(has_nested(SkillSerializer, 'with_skills', default=[]))
            def get_skills(self, ob):
                if self.context.get("with_skills", False):
                    return SkillSerializer(ob.skills, many=True).data
                else:
                    return []

        self.Serializer = ForContextualTestUserSerializer
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号