Skip to content

Instantly share code, notes, and snippets.

@dz0
Last active March 14, 2019 11:03
Show Gist options
  • Select an option

  • Save dz0/82f1d5876181f439d010479a70efca51 to your computer and use it in GitHub Desktop.

Select an option

Save dz0/82f1d5876181f439d010479a70efca51 to your computer and use it in GitHub Desktop.
DRF Serializer validation stack.md

Serializer:

  • is_valid(self, raise_exception=False) # usually called before self.save(..)
    • run_validation(self, data=empty)
      • validate_empty_values(self, data)
      • to_internal_value(self, data)
        • each DRF Field:
          • run_validation(self, data=empty)
            • validate_empty_values(self, data)
            • to_internal_value(self, data)
            • run_validators(self, value)
          • validate_{field}(validated_value) # variable validate_method
      • run_validators(self, value) # Serializer Meta.validators (custom or derived from Model (Field) validators)
      • validate(self, attrs) # defined empty -- nice place to hook extra custom validation mechanisms via Mixins ?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment