문제

I have a model which consists of two ForeignKeys. I am only interested in parsing the content of the ForeignKeys, so i'm using the depth variable, which basically gives me all columns of the tables referenced with the FK. Is there a way to select which columns there should be included?

class SomeSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyAwesomeModel
        fields = ('id', 'fk_one','fk_two')
        depth = 1
도움이 되었습니까?

해결책

Try using nested serializers. Documentation here.

Example:

class FKOneSerializer(serializers.ModelSerializer):
    class Meta:
        model = FKOne
        fields = ('name', 'id')

class SomeSerializer(serializers.ModelSerializer):
    fk_one = FKOneSerializer()

    class Meta:
        model = MyAwesomeModel
        fields = ('id', 'fk_one','fk_two')

EDIT:

Similar answer here by the creator of the Django Rest Framework. Also includes some related notes, including that nested serializers are read-only and that you may need to include a source argument on the serializer field.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top