Document that explicitly declared fields will not have their attributes overridden by `read_only_fields` shortcut.

Author: TheProdigyFilippoCreated Sep 30, 2015Updated Aug 30, 2026
LabelsDocumentation
python
class PersonSerializer(serializers.ModelSerializer):
    info = serializers.Field(source='info')

    class Meta:
        model = Person
        read_only_fields = ('info',)

In this case read_only_fields is not working (info field is not read only) and we have to add read_only=True to the field. It's very confusing.

Source: encode/django-rest-framework