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 были привязаны к нему, что бы сущьность пользователя автоматически вносила с новой записью в модели, изините если вопрос глупый, я только учусь.