【发布时间】:2018-02-01 13:23:15
【问题描述】:
我正在制作一个 Django 应用程序,我在其中通过 REST API 发送请求。我正在使用 POST 和 GET 并且一切正常,但是当我尝试使用 PATCH 时(因为我必须首先上传字段“start_time”,然后添加字段“time”),我收到以下错误:
match = time_re.match(值) TypeError: 预期的字符串或缓冲区
当然是关于views.py,但我找不到明确的方法来做到这一点,因此我不知道我错在哪里。
谢谢。
Views.py
...
elif request.method = 'PATCH':
serializer = TABLESerializer(data=request.data, partial=True)
if serializer.is_valid():
obj = TABLE.objects.get(start_time=request.data['start_time'])
obj.time = serializer['time']
obj.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
序列化器.py
class TABLESerilizer(serializers.serializer):
start_time = serializers.DateTimeField(format = None, allow_null=True)
time = serializers.TimeField(format=None, required=False)
models.py
class TABLE(models.Model):
start_time=models.DateTimeField(primary_key=True)
time = models.TimeField(null= True, blank= True, default = '00:00:00')
【问题讨论】: