Django DRF序列化程序在更新时为空OrderedDict()

Django DRF序列化程序在更新时为空OrderedDict(),django,django-rest-framework,django-serializer,Django,Django Rest Framework,Django Serializer,我正在使用Django 2.x和Django REST框架 class ComponentDataSerializer(serializers.ModelSerializer): class Meta: model = ComponentData fields = [ 'id', 'analytics_type' ] class ComponentSerializer(serializer

我正在使用Django 2.xDjango REST框架

class ComponentDataSerializer(serializers.ModelSerializer):
    class Meta:
        model = ComponentData
        fields = [
            'id',
            'analytics_type'
        ]


class ComponentSerializer(serializers.ModelSerializer):

    data = ComponentDataSerializer(many=True)

    class Meta:
        model = Component
        fields = [
            'id',
            'name',
            'group',
            'data',
        ]

    def validate(self, attrs):
        print('validate data: {}'.format(attrs))
        return attrs
使用
POST
请求时,
validate()
中的
attrs

validate data: OrderedDict([('name', 'Component Test'), ('group', <AnalyticsGroup: Chart>), ('data', [OrderedDict([('analytics_type', <AnalyticsType: Bar Chart>)])])])
每个请求中的数据有效负载是相同的

name: "Component Test"
group: "2"
data[0]analytics_type: "3"
data[0]analytics_sub_type: "2"
data[0]query: "9"

其中,每个字段
analytics\u type
analytics\u sub\u type
query
的值分别是
pk

对于陷入类似情况的人,使用嵌套序列化器的
PATCH
方法处理
JSON
数据,而不是表单数据

我从邮递员那里传递了
JSON
数据,而不是表单数据,它正在工作

name: "Component Test"
group: "2"
data[0]analytics_type: "3"
data[0]analytics_sub_type: "2"
data[0]query: "9"