Django + DRF как через POST запрос привезать текущего пользователя к записи

Есть такой вопрос, Django + DRF я создаю модель, скажем такую.

файл models.py

class Book(models.Model):
    owner = models.ForeignKey('auth.User', default=True, blank=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    type = models.CharField(max_length=255, blank=True)
    content = models.TextField(blank=True, verbose_name='Текст')
    photo = models.ImageField(upload_to="photos/store/", blank=True, verbose_name='Фото')
    time_create = models.DateTimeField(auto_now_add=True, verbose_name='Время создания')
    time_update = models.DateTimeField(auto_now=True, verbose_name='Последнее обновление')
    is_published = models.BooleanField(default=True, verbose_name='Публикация')

    def __str__(self):
    return f'Id {self.id}:  {self.name}'

К ней сериализатор, файл serializers.py

class BooksSerializer(ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'

Далее, создаю представление, скажем такое, файл views.py

class BookViewSet(ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BooksSerializer

Унаследовавшись от класса ModelViewSet я автоматически имею все CRUD операции к модели.

При помощи настройки привилегий, я могу сделать проверку на то аутентифицирован пользователь или нет, и таким образом давать доступ только тем кто вошел в систему.

class BookViewSet(ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BooksSerializer
    permission_classes = {permissions.IsAuthenticated}

Если я хочу чтобы аутентифицированный пользователь получал только те записи, которые он сам и создал, то я могу переопределить метод get_queryset() и сделать проверку на пользователя.

class BookList(generics.ListAPIView):
serializer_class = BooksSerializer
queryset = Book.objects.all()
def get_queryset(self):
    user = self.request.user
    return Book.objects.filter(owner=user)

Вот мой вопрос, как мне сделать обратный процесс,как я могу сделать так чтобы создаваемые пользователем записи в модели Book через метод POST были привязаны к нему, что бы сущьность пользователя автоматически вносила с новой записью в модели, изините если вопрос глупый, я только учусь.

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