serializers.py 文件源码

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

项目:apimas 作者: grnet 项目源码 文件源码
def _validate_configuration(self):
        meta_cls = getattr(self, 'Meta', None)
        if meta_cls is None:
            raise ex.ApimasException('`Meta` class cannot be found')
        model_fields = getattr(meta_cls, 'model_fields', [])
        fields = getattr(meta_cls, 'extra_fields', [])
        if not (fields or model_fields):
            raise ex.ApimasException(
                '`extra_fields` and `model_fields` attributes are not'
                ' specified')
        if not (self.model_ser_cls or self.ser_cls):
            raise ex.ApimasException(
                'A `ContainerSerializer` must define a `ModelSerializer` class'
                ' or a `Serializer class')
        if not (self.model_ser_cls or self.ser_cls):
            raise ex.ApimasException(
                'A `ContainerSerializer` must include a ModelSerializer'
                ' and Serializer class')
        if self.model_ser_cls:
            mro = inspect.getmro(self.model_ser_cls)
            if serializers.HyperlinkedModelSerializer not in mro:
                raise ex.ApimasException(
                    'A model serializer class must inherit'
                    ' `serializers.ModelSerializer`')
        if self.ser_cls:
            mro = inspect.getmro(self.ser_cls)
            if serializers.BaseSerializer not in mro:
                raise ex.ApimasException(
                    'A serializer class must implement'
                    ' `serializers.BaseSerializer`')
        return model_fields, fields
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号