3

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

1 Answer 1

10

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.