gpt4 book ai didi

python - Django休息框架: Nested object not passing to validated_data

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:55 29 4
gpt4 key购买 nike

这肯定是我对序列化器如何工作的理解中的一个问题。

更改序列化器上的属性权限后,我发现我的 Author 嵌套对象在 valid_data 上变为空。

这是我的代码:

class ThreadSerializer(serializers.Serializer):
class Meta:
model = Thread
queryset=Thread.objects.all()
fields = ('id', 'title', 'description', 'author', 'created_at')

pk = serializers.IntegerField(read_only=True)
title = serializers.CharField(required=False, allow_blank=False, max_length=100)
description = serializers.CharField(style={'base_template': 'textarea.html'}, required=False)
author = AuthorSerializer()
created_at = serializers.DateTimeField(required=False)

def create(self, validated_data):
"""
Create and return a new `Thread` instance, given the validated data.
"""
author_data = validated_data.pop('author')
if author_data:
author = Author.objects.get_or_create(**author_data)
validated_data['author'] = author

return Thread.objects.create(**validated_data)

有效负载也非常简单:{ "title": "2", "description": "测试嵌套对象", "author": { "name": "ron", "email": "email@mail.com"}}

然而,在 validated_data 变量上我看到的只是一个空的 OrderedDict。

有人可以指出我应该在哪里解决这个问题吗?

最佳答案

这里的问题出在客户端。

信息作为表单数据传递,而不是作为 ajax 请求中的 application/json 传递。

关于python - Django休息框架: Nested object not passing to validated_data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867543/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com