【发布时间】:2018-09-15 22:22:15
【问题描述】:
我有数组对象:
const ordsend =[
{
order: 4,
id: 1,
},
{
order: 2,
id: 2,
}
]
其中 id 是主键, 对于 axios,我通过 POST 方法发送这个:
this.axios.post('route-dispatchs/order/', this.ordsend)
.then((response) => {
console.log(success);
});
这对我来说似乎是正确的,因为通过 id 进行过滤并更新其各自的 order
class RouteDispatchViewSet(viewsets.ModelViewSet):
queryset = RouteDispatch.objects.all()
serializer_class = RouteDispatchSerializer
@list_route(methods=['post'], url_path='order')
def order_dispatch(self, request):
for data in request.data:
self.queryset.filter(id=data['id']).update(order=data['order'])
page = self.paginate_queryset(self.queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(self.queryset, many=True)
return Response(serializer.data)
但不幸的是它显示了以下错误:
AttributeError: 'list' 对象没有属性 'items'
如何在一个请求中进行多次更新?
错误:
当我只发送一个时:
this.ordsend[0]
我完美地删除了 ** for ** 更新。
【问题讨论】:
-
我在这篇文章中描述了一个替代方案:stackoverflow.com/a/59756993/7392069
标签: django django-rest-framework axios