django_rest.py 文件源码

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

项目:apimas 作者: grnet 项目源码 文件源码
def generate_serializer(self, field_schema, name, model=None,
                            onmodel=False, model_serializers=None,
                            extra_serializers=None):
        """
        Generate a `Serializer` class to serve the given `field_schema`.

        There are two scenarios:

        * If `field_schema` only consists of model fields and `onmodel` flag
          is specified as True, then a `ModelSerializer` class is generated.
        * If `field_schema` consists of non-model fields or a mixture of
          model fields and non-model fields, then a `ContainerSerializer` class
          is created.
        """
        model_fields, extra_fields, sources = self._classify_fields(
            field_schema)
        if onmodel:
            assert model, ('You cannot create a model serializer without'
                           ' specifying its model')
            serializer = generate_model_serializer(
                name, model, model_fields, bases=model_serializers)
        else:
            serializer = generate_container_serializer(
                model_fields, extra_fields, name, model,
                instance_sources=sources,
                model_serializers=model_serializers,
                extra_serializers=extra_serializers)
        return serializer
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号