9

Django REST フレームワークを使用して、次のシリアライザーを以下に示します。(ネストされた) 関連オブジェクト (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',)

だから私がしたいのは、結果にネストされた関連カテゴリを表示する Products です。

ありがとうございました。

アップデート:

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
            ], 
4

1 に答える 1

6

フィールド「productcat」(またはモデル関係が呼び出されたものは何でも、キャメルケースなし)を呼び出してフィールドに追加する必要があることを除いて、あなたの例はほとんど正しかったです。

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')
于 2013-02-18T16:35:44.797 に答える