@Lepilov

Как можно изменить значение поля в сериализованных данных?

В форму прилетает значение с типом str, мне надо что бы значение было int. Каким образом можно произвести преобразование перед сохранением?

models.py

class Documents(models.Model):
   ......
    type = models.ForeignKey(Doctype, on_delete=models.CASCADE, blank=True)

Текущая вьюха
views.py

class DocumentsListView(AwsUrlMixin, viewsets.ViewSetMixin, generics.ListCreateAPIView):
    queryset = Documents.objects.all()
    serializer_class = DocumentsSerializer
    permission_classes = (IsAuthenticated, LifeLinePermissions)
    pagination_class = None

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


Я предполагаю, что можно в perfom_create() сделать что то вроде
def perform_create(self, serializer):
        type = Doctype.objects.get(id=???????????)
        serializer.save(author=self.request.user, type=type)
        print(serializer.data.type)
  • Вопрос задан
  • 604 просмотра
Решения вопроса 1
@MAGistr_MTM
Учусь программировать
type = Doctype.objects.get(id=int(serializer.data['type']))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы