使用Django REST framework我在下面有以下序列化程序。我想将(嵌套的)相关对象(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而不是keyparis,就像json请求的其余部分一样(请参阅类别如下)。它几乎是正确的。
"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
],
答案 0 :(得分:1)
您的示例几乎是正确的,除了您应该调用字段'productcat'(或调用模型关系,但没有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')