我有一个 Django rest framework 的 API 设置,现在想把当前时间插入到传入的 PUT
请求中。目前我的代码如下:
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.filter(done = False).order_by('-time')
serializer_class = ItemSerializer
paginate_by = None
def list(self, request, *args, **kwargs):
self.object_list = self.filter_queryset(self.get_queryset())
serializer = self.get_serializer(self.object_list, many=True)
return Response({'results': serializer.data})
这个处理方式可以实现部分更新,但我想发送一个请求,将Item
设置为done = True
,并且在发送给序列化程序的数据中也插入一个UNIX时间戳。我能像这样更改request
对象吗?还是有更好的方法?
def put(self, request, *args, **kwargs):
request.data['time'] = time.time()
return self.partial_update(request, *args, **kwargs)