Django автоматическое сохранение текущего пользователя в модели при сохранении
Я пытаюсь сохранить пользователя автоматически при сохранении новых данных. Это работает, если я жестко закодировал user-id get(id=2)
. Как сделать идентификатор динамическим?
models.py
class Feedback(models.Model):
.
.
author = models.ForeignKey(
get_user_model(),
on_delete=models.CASCADE,
editable=False,
)
def save(self, *args, **kwargs):
self.author = get_user_model().objects.get(id=2) @@@@@@@@@@@@@@@@@
return super().save(*args, **kwargs)
ListCreateAPIView
не имеет метода form_valid
, посмотрите на this
В вашем class FeedbackListView
нужно сделать что-то вроде этого:
class FeedbackListView(generics.ListCreateAPIView):
queryset = Feedback.objects.all()
serializer_class = FeedbackSerializer
def perform_create(self, serializer):
# The request user is set as author automatically.
serializer.save(author=self.request.user)