Django rest framework post request returns 200 but data is not saved in the database

Django rest framework post request returns 200 but data is not saved in the database

当 post 请求发送到 api 时,api returns 响应正常,但没有数据插入数据库。

views.py


@api_view(['POST'])
def createTicketList(request):
    serializer = TicketListSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data)
    else:
        return Response(serializer.errors)

serializer.py


class TicketListSerializer(serializers.ModelSerializer):
    class Meta:
        model = TicketListTable
        fields = '__all__'

    def create(self, validated_data):
        return TicketListTable(**validated_data)

models.py


class TicketListTable(models.Model):
    ticketListName = models.CharField(max_length=50)
    ticketListCreated = models.DateTimeField()
    ticketListUpdates = models.DateTimeField()

    def __str__(self):
        return self.ticketListName

    class Meta:
        app_label = "backend"
        db_table = "TicketListTable"

post人api

postman api post request

因为您没有在序列化程序 create 函数中保存 TicketeListTable 实例。如果删除 create 函数,实例将被保存。 ModelSerializer.

中已经有一个创建函数

https://www.cdrf.co/3.12/rest_framework.serializers/ModelSerializer.html#create