[Django]-Django Rest Framework model Id field in nested relationship serializer

33πŸ‘

βœ…

Ok – I think I found the answer after … carefully reading the docs πŸ™‚

So according to the docs the id field could be set to a ModelField like this:

id = serializers.ModelField(model_field=ServiceType()._meta.get_field('id'))

Indeed, after adding this line the id field is present in validated_data πŸ™‚

28πŸ‘

The accepted answer works but is unnecessarily complicated. You can just change the ID field to not be readonly. E.g. something like this will do:

id = serializers.IntegerField(required=False)

2πŸ‘

You have set id as a ReadOnlyField. That’s why id does not appear in validated data. Just remove this line:

id = serializers.ReadOnlyField()

-1πŸ‘

The more straightforward option:

id = serializers.IntegerField(write_only=False)

Leave a comment