簡體   English   中英

Django rest框架:嵌套對象未傳遞給validated_data

[英]Django rest framework: Nested object not passing to validated_data

在我對串行器應如何工作的理解中,這肯定是一個問題。

更改序列化程序的屬性權限后,我發現我的Author嵌套對象在validated_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": "testing nested objects", "author": { "name": "ron", "email" : "email@mail.com" }}

但是,在validated_data變量上,我看到的只是一個空的OrderedDict。

有人可以指出我應該解決的地方嗎?

這里的問題是在客戶端。

信息在ajax請求中作為表單數據而不是作為application / json傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM