ListCreateAPIView не возвращает ответ

Я хочу вернуть пользовательский json-ответ после perform_create

class MyObjList(generics.ListCreateAPIView):
    def get_serializer_class(self):
        if self.request.method == 'GET':
            return MyObjListSerializer
        return MyObjCreateSerializer
    def perform_create(self, serializer):
        // do something here. 
        return Response({'isDraft': 1})
class MyObjCreateSerializer(serializers.Serializer):
    class Meta:
        fields = ('answer')

Однако это не возвращает никакого ответа, для моего Javasctipt

axios.post(API_URL, data, config).then(({ data }) => {
  console.log(data); // just show {}
}).catch(error => {
  console.log(error);
});

Я хочу создать объект в perform_create и вернуть ключевое имя клиенту.

Однако в настоящее время в моем коде он ничего не возвращает.

Интересно, имеет ли значение класс Serializer, но я не уверен в роли класса serializer для POST>

Вам следует переопределить метод create() вместо метода perform_create(). Здесь объясняется почему: https://stackoverflow.com/a/69395096/8332763

  • perform_create изменяет логику сохранения.
  • create изменяет обработку запросов/ответов
  • .
Вернуться на верх