Partial updates always change fields that are not in data, read only, and have a default · Issue #3565 · encode/django-rest-framework (original) (raw)

This is kind of an edge case, maybe? Maybe not. I ran into it because I have a field which is readonly on update but has a default for the create case.

See Serializer._writable_fields. I'm trying to do a partial update on one field, but I have another field that's readonly on update. BUT instead of being left alone, since it has a default, it always gets set TO THAT DEFAULT.

From my reading of writable_fields, it looks like this would happen with any field that has a default and isn't included in a partial update, but for it to happen on a read_only field seems particularly egregious to me. :-p