Django 处理嵌套对象的序列化程序

Django 处理嵌套对象的序列化程序,django,django-rest-framework,Django,Django Rest Framework,使用下面的序列化程序。我想将(嵌套的)相关对象(ProductCatSerializer)添加到ProductSerializer。我试过以下方法 class ProductCatSerializer(serializers.ModelSerializer): class Meta: model = ProductCat fields = ('id', 'title') class ProductSerializer(serializers.ModelS

使用下面的序列化程序。我想将(嵌套的)相关对象(ProductCatSerializer)添加到ProductSerializer。我试过以下方法

class ProductCatSerializer(serializers.ModelSerializer):
    class Meta:
        model = ProductCat
        fields = ('id', 'title')

class ProductSerializer(serializers.ModelSerializer):
    """
    Serializing the Product instances into representations.
    """
    ProductCat = ProductCatSerializer()

    class Meta:
        model = Product
        fields = ('id', 'title', 'description', 'price',)
所以我想做的是,产品显示结果中嵌套的相关类别

多谢各位

更新:

使用depth=2选项(感谢Nandeep Mali),我现在可以得到嵌套的值,但它们只使用ID显示,而不像json请求的其余部分那样使用keyparis(参见下面的类别)。几乎是对的

"results": [
        {
            "id": 1, 
            "title": "test ", 
            "description": "test", 
            "price": "2.99", 
            "product_url": "222", 
            "product_ref": "222", 
            "active": true, 
            "created": "2013-02-15T15:49:28Z", 
            "modified": "2013-02-17T13:05:28Z", 
            "category": [
                1, 
                2
            ], 

您的示例几乎是正确的,只是您应该调用字段“productcat”(或者调用模型relationshipt的任何名称,但不使用CamelCase),并将其添加到字段中

class ProductCatSerializer(serializers.ModelSerializer):
    class Meta:
        model = ProductCat
        fields = ('id', 'title')

class ProductSerializer(serializers.ModelSerializer):
    """
    Serializing the Product instances into representations.
    """
    productcat = ProductCatSerializer()

    class Meta:
        model = Product
        fields = ('id', 'title', 'description', 'price', 'productcat')

ProductCatSerializer
中的模型不应该是其他的吗?顺便说一句,你的名字和这个问题是一致的。你试过这个吗?抱歉,键入示例时出错,dow!更正。名字是lol:)@Nandeep Mali我正试着这样做哦是的。不太熟悉这个框架。不过,它们确实有嵌套支持:您遇到的问题是什么?你用过
depth=1
设置吗?太好了,我在学习,慢慢地,但是在学习!再次感谢你,汤姆。“产品猫”将是一个对象。如果我们需要添加'productcat'元素作为普通字段名以及'title','description'