2016-07-14 12 views
7

W poniższym serializatorze mam zagnieżdżone pole serializera [ContainerSerializer] i chcę wykluczyć pole z (kontenera) ContainerSerializer, ale nie chcę żadnych zmian w ContainerSerializer. Jak mogę to zrobić?Wyklucz pole z serializera frameworku django rest

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

Nawet ja muszę zrobić to samo! –

Odpowiedz

5

Tworzenie innego serializatora powiedzieć BLContainerSerializer i uwzględniają tam pola. Następnie użyj tego w swoim BLcontainerMergedSerializer. Mam nadzieję że to pomoże.

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


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

Jest pola nieruchomość meta:

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

referencyjny: Django REST docs

+0

to dodaje pola z 'BLcontainer', a nie z' kontenera' –

Powiązane problemy