This should probably mirror the WritableField style:

```python
if self.default is not None and not self.partial:
    # Note: partial updates shouldn't set defaults
    value = copy.deepcopy(self.default)
else:
    if self.required:
        raise ValidationError(self.error_messages['required'])
        return
```