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изменяет обработку запросов/ответов .