2016-07-14 10 views
7

次のシリアライザでは、ネストされたシリアライザ[ContainerSerializer]フィールドがあり、フィールドを(コンテナ)ContainerSerializerから除外したいのですが、ContainerSerializerに何も変更したくありません。どうやってやるの?django restフレームワークシリアライザからフィールドを除外

class BLcontainerMergedSerializer(serializers.ModelSerializer): 
    container = ContainerSerializer() 
    class Meta: 
     model = BLcontainer 
+0

でも、私は同じことをする必要があります! –

答えて

5

別のシリアライザを作成BLContainerSerializerを言うと、そこにフィールドを除外する。次に、BLcontainerMergedSerializerでこれを使用します。お役に立てれば。

class BLContainerSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Container 
     exclude = ('field1',) 


class BLcontainerMergedSerializer(serializers.ModelSerializer): 
    container = BLContainerSerializer() 
    class Meta: 
     model = BLcontainer 
5

フィールドのメタプロパティがあります:

class BLcontainerMergedSerializer(serializers.ModelSerializer): 
    container = ContainerSerializer() 
    class Meta: 
     model = BLcontainer 
     fields = ('field1', 'field2') 

はリファレンス:Django REST docs

+0

これは、 'container'からではなく、' BLcontainer'からのフィールドを追加します。 –

関連する問題