【问题标题】:Django rest framework post request returns 200 but data is not saved in the databaseDjango rest框架发布请求返回200但数据未保存在数据库中
【发布时间】:2021-10-11 17:45:03
【问题描述】:

post 请求发送到 api 时,api 返回 Ok 作为响应,但没有数据插入数据库。

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"

邮递员接口

postman api post request

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 2019-09-20
      • 1970-01-01
      • 2014-09-21
      • 2018-10-30
      • 2023-03-06
      相关资源
      最近更新 更多