Python rest_framework.serializers 模块,HyperlinkedModelSerializer() 实例源码

我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用rest_framework.serializers.HyperlinkedModelSerializer()

项目:ChRIS_ultron_backEnd    作者:FNNDSC    | 项目源码 | 文件源码
def _get_id_field(self, serializer):
        if isinstance(serializer, HyperlinkedModelSerializer):
            return serializer.url_field_name
        else:
            return None
项目:django-rest-framework-tricks    作者:barseghyanartur    | 项目源码 | 文件源码
def update(self, instance, validated_data):
        """Update.

        :param instance:
        :param validated_data:
        :return:
        """
        # Collect information on nested serializers
        __nested_serializers, __nested_serializers_data = \
            extract_nested_serializers(
                self,
                validated_data,
            )

        # Update the instance
        instance = super(HyperlinkedModelSerializer, self).update(
            instance,
            validated_data
        )

        # Assign fields to the `instance` one by one
        set_instance_values(
            __nested_serializers,
            __nested_serializers_data,
            instance
        )

        # Save the instance and return
        instance.save()
        return instance
项目: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