DRF не вызывает метод post() при получении POST-запроса

У меня есть такой набор представлений:

class MyViewSet(CreateAPIView, RetrieveModelMixin, ListModelMixin, GenericViewSet):
    queryset = MyModel.objects.all()
    serializer_class = MySerializer

    def post(self, request, *args, **kwargs):
        import pdb; pdb.set_trace()

class MySerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = MyModel
        fields = ['id', 'field1', 'field2'] #only field1 is required in the model

GET-запросы для list и retrieve работают отлично. Когда я делаю POST запрос, посылая field1 я получаю статус 201 и новая запись добавляется в базу данных, так что это тоже работает .

Но мой метод MyViewSet.post(), который должен перезаписать тот же метод из generics.CreateAPIView, так и не вызывается.

Мало того, я пытался добавить pdb.set_trace(), буквально внутри generics.CreateAPIView.post() и в функции CreateModelMixin.create() и ни одна из них не остановилась, как только я сделал POST запрос.

Значит, что-то еще обрабатывает этот POST-запрос и вставляет в БД, я просто не знаю что. И как я могу переписать это, чтобы настроить то, что должно быть сделано с почтовым запросом?

PS.: Также, я не думаю, что это проблема маршрутизации, мой urls.py:

from rest_framework import routers
from myapp.views import MyViewSet, AnotherViewSet

router = routers.DefaultRouter()
router.register(r'route_one', MyViewSet)
router.register(r'route_two', AnotherViewSet)

Я думаю, что вам нужно использовать именно этот класс, чтобы использовать POST api.

class MyViewSet(CreateModelMixin, ListModelMixin, generics.GenericAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MySerializer

    def post(self, request, *args, **kwargs):
        return self.create(request, *args, **kwargs)

Надеюсь, это может помочь.

Вернуться на верх