diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 0b56fa7fb..7481c31a6 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -262,8 +262,12 @@ class CreateOnlyDefault: class CurrentUserDefault: requires_context = True + def __init__(self, nullIfNotAuthed = False): + self.nullIfNotAuthed = nullIfNotAuthed def __call__(self, serializer_field): + if self.nullIfNotAuthed and not serializer_field.context['request'].user.is_authenticated: + return None return serializer_field.context['request'].user def __repr__(self):