201 Создан - но нет нового объекта в базе данных SqLite

У меня есть кнопка, на которую пользователи могут нажать, чтобы добавить объект в свой аккаунт. Она отправляется через django в мою sqlite базу данных, и в консольном журнале нет никаких ошибок. Там написано "201 Created", но в базе данных нет нового объекта.

У кого-то еще была такая же проблема, как у меня, решением было избавление от некоторых методов в сериализаторе, но они не указали, от чего они избавились.

Что вызывает это?

Вот мой сериализатор:

class RatSerializer(FlexFieldsModelSerializer, serializers.ModelSerializer):
    name         = serializers.CharField()
    user         = serializers.CharField(source='user.username', required=False)
    userid       = serializers.CharField(source='user.id', required=False)
    body_colour  = BodyColourSerializer()
    eye_colour   = EyeColourSerializer()
    image        = ImageSerializer(required=False)


    class Meta:
        model = rat
        exclude = ['bio']

    def create(self, data):
        request = self.context.get("request")
        user = request.user

        return rat( name = data["name"],
            body_colour = BodyColour(name=data["body_colour"]["name"]),
            eye_colour = EyeColour(name=data["eye_colour"]["name"]),
            image = Image(),
            user = user)

Мои взгляды:

class ratViewset(ModelViewSet, APIView):
    serializer_class = RatSerializer
    # queryset = rat.objects.all()
    
    def get_queryset(self):
        user = self.request.user
        if user.is_anonymous:
            return rat.objects.all()
        return rat.objects.filter(user=user.id)
        
    def post(self, request):
            rat = request.data.get('rat')
            # creates rat with the above data
            serializer = RatSerializer(data=rat)
            
            if serializer.is_valid(raise_exception=True):
                serializer.save()
                print(serializer.data, type(serializer.data))
                return Response(serializer.data, status=status.HTTP_201_CREATED)
            return Response(serializer.errors, status=status)

Благодарен за любую помощь!

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