Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django rest框架自定义序列化_Python_Django_Django Rest Framework - Fatal编程技术网

Python Django rest框架自定义序列化

Python Django rest框架自定义序列化,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想转换原始JSON: {'code': 1, 'inner': {'x': 1, 'y': 1}} 要呈现serializer.data,请执行以下操作: {'code': 1, 'inner_x': 1, 'inner_y': 1} 使用django REST框架序列化程序 哪些代码应该放在序列化程序中?我认为最好在服务器和客户端中都有相同的结构。您可以创建一个名为“Inner”的x,y成员的类,“Inner”可以是原始类中的外键成员 要回答此问题,可以覆盖create函数: class

我想转换原始JSON:

{'code': 1, 'inner': {'x': 1, 'y': 1}}
要呈现serializer.data,请执行以下操作:

{'code': 1, 'inner_x': 1, 'inner_y': 1}
使用django REST框架序列化程序


哪些代码应该放在序列化程序中?

我认为最好在服务器和客户端中都有相同的结构。您可以创建一个名为“Inner”的x,y成员的类,“Inner”可以是原始类中的外键成员

要回答此问题,可以覆盖create函数:

class InnerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Inner
        fields = ('x', 'y')


class CostumeSerializer(serializers.ModelSerializer):

    inner = InnerSerializer()

    class Meta:
        model = MyModel
        fields = ('code', 'inner')

    def create(self, validated_data):
        inner = validated_data.pop('inner')
        return MyModel.objects.create(inner_x=inner.get('x', None), inner_y=inner.get('y', None), **validated_data)
  • 这是示例代码-我没有运行它
编辑: 看一看

您可以在没有以下模型的情况下定义InnerSerializer:

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

我认为最好在服务器和客户机中使用相同的结构。您可以创建一个名为“Inner”的x,y成员的类,“Inner”可以是原始类中的外键成员

要回答此问题,可以覆盖create函数:

class InnerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Inner
        fields = ('x', 'y')


class CostumeSerializer(serializers.ModelSerializer):

    inner = InnerSerializer()

    class Meta:
        model = MyModel
        fields = ('code', 'inner')

    def create(self, validated_data):
        inner = validated_data.pop('inner')
        return MyModel.objects.create(inner_x=inner.get('x', None), inner_y=inner.get('y', None), **validated_data)
  • 这是示例代码-我没有运行它
编辑: 看一看

您可以在没有以下模型的情况下定义InnerSerializer:

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

我认为最好在服务器和客户机中使用相同的结构。您可以创建一个名为“Inner”的x,y成员的类,“Inner”可以是原始类中的外键成员

要回答此问题,可以覆盖create函数:

class InnerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Inner
        fields = ('x', 'y')


class CostumeSerializer(serializers.ModelSerializer):

    inner = InnerSerializer()

    class Meta:
        model = MyModel
        fields = ('code', 'inner')

    def create(self, validated_data):
        inner = validated_data.pop('inner')
        return MyModel.objects.create(inner_x=inner.get('x', None), inner_y=inner.get('y', None), **validated_data)
  • 这是示例代码-我没有运行它
编辑: 看一看

您可以在没有以下模型的情况下定义InnerSerializer:

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

我认为最好在服务器和客户机中使用相同的结构。您可以创建一个名为“Inner”的x,y成员的类,“Inner”可以是原始类中的外键成员

要回答此问题,可以覆盖create函数:

class InnerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Inner
        fields = ('x', 'y')


class CostumeSerializer(serializers.ModelSerializer):

    inner = InnerSerializer()

    class Meta:
        model = MyModel
        fields = ('code', 'inner')

    def create(self, validated_data):
        inner = validated_data.pop('inner')
        return MyModel.objects.create(inner_x=inner.get('x', None), inner_y=inner.get('y', None), **validated_data)
  • 这是示例代码-我没有运行它
编辑: 看一看

您可以在没有以下模型的情况下定义InnerSerializer:

from rest_framework import serializers

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

你在找类似的东西吗


您将
.to\u internal\u value()
转换为反序列化,将
转换为
转换为序列化。

您是否正在寻找类似的内容


您将
.to\u internal\u value()
转换为反序列化,将
转换为
转换为序列化。

您是否正在寻找类似的内容


您将
.to\u internal\u value()
转换为反序列化,将
转换为
转换为序列化。

您是否正在寻找类似的内容


您将
.to_internal_value()
用于反序列化,将
转换为
用于序列化。

我希望在没有django模型的情况下执行此操作。数据从外部服务到达我这里,我想设置从一个json到另一个json的转换规则,我想不使用django模型。数据从外部服务到达我这里,我想设置从一个json到另一个json的转换规则,我想不使用django模型。数据从外部服务到达我这里,我想设置从一个json到另一个json的转换规则,我想不使用django模型。数据从外部服务到达我这里,我想要设置从一个json到另一个json的转换规则我发现这个库有用我发现这个库有用我发现这个库有用我发现这个库有用