Skip to content

Serializer.run_validators does not add defaults from read_only fields to data.  #8974

Closed as not planned
@pyrocat

Description

@pyrocat

It seems there's a typo in Serializer.run_validators method which is supposed to update initial data with default values from read-only fields. Instead, the value remains unchanged.

 def run_validators(self, value):
      """
      Add read_only fields with defaults to value before running validators.
      """
      if isinstance(value, dict):
          to_validate = self._read_only_defaults()
          to_validate.update(value)
      else:
          to_validate = value
      super().run_validators(to_validate)

Looks like it should be value.update(to_validate) instead of to_validate.update(value)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions