'Validates the given value and returns its "cleaned" value as an
appropriate Python object.
Raises ValidationError for any errors.'

def clean(self, value):

    value = self.to_python(value)
    self.validate(value)
    self.run_validators(value)
    return value
