Как установить владельца созданного объекта по умолчанию в DRF?

Я хочу сохранить объект автомобиля с request.user в качестве владельца (поле в модели Car).

Мой код:

views.py

class CarViewSet(viewsets.ModelViewSet):
    serializer_class = CarSerializer
    queryset = Car.objects.all()
    lookup_field = 'slug'
    permissions_classes = [IsAuthenticated]

    def perform_create(self, serializer):
        serializer.save(owner=self.request.user)

    def get_queryset(self, *args, **kwargs):
        print(self.request.user.email)
        print(self.request.user.is_authenticated)
        return self.queryset.filter(owner=self.request.user.pk)

Когда я посещаю страницу frontend, у меня отображается список моих автомобилей. Поля email и is_authenticated (True) выводятся правильно. Все в порядке, пока я не пытаюсь обновить страницу - данные исчезают, и я получаю ошибку:

print(self.request.user.email)
AttributeError: 'AnonymousUser' object has no attribute 'email'

is_authenticated поле установлено в False соответственно.

Я также пробовал включить поле owner в CarSerializer:

owner = serializers.HiddenField(default=serializers.CurrentUserDefault())

Но ничего не изменилось.

Как я могу это исправить?

Вернуться на верх