列表对象没有属性副本


feed_obj = self.get_feed_obj(request, kwargs.get('feed_id'))
ad_ingredient_id = kwargs.get('ad_ingredient_id')
adingredient_obj = AdIngredient.objects.filter(feed_id=feed_obj.id, created_by_id=request.user.id, state=1).first()
for data in self.data_formating(request, feed_obj):
serializer = self.serializer_class(adingredient_obj,data=data,partial=True)
if serializer.is_valid():
serializer.save()
else:
return Response(
{
'success': False,
'detail': serializer.errors
},
status=status.HTTP_400_BAD_REQUEST
)
return Response(
{
'success': True,
'detail': 'Feed Ad Ingredients information updated successfully',
'data': feed_obj.id
},
status=status.HTTP_200_OK
)

它不是在更新数据,而是不断收集创建对象时添加的旧数据。

AttributeError at/api/feeds/ad-ingredient/55/"列表"对象没有属性"复制">

追踪:

文件 "/Users/omairbukhari/env_justads/lib/python2.7/site-packages/django/core/handlers/exception.py" in in inner 39. 响应 = get_response(请求(

文件"/Users/omairbukhari/env_justads/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response 249. 响应 = self._get_response(请求(

文件 "/Users/omairbukhari/env_justads/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 187. 响应 = self.process_exception_by_middleware(e,请求(

文件 "/Users/omairbukhari/env_justads/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response 185. 响应 = wrapped_callback(请求、*callback_args、**callback_kwargs(

文件"/Users/omairbukhari/env_justads/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view 58.返回view_func(*参数,**夸格(

视图中的文件"/Users/omairbukhari/env_justads/lib/python2.7/site-packages/rest_framework/viewsets.py" 83. 返回自我调度(请求,*参数,**夸格斯(

调度中的文件 "/Users/omairbukhari/env_justads/lib/python2.7/site-packages/rest_framework/views.py" 477. 响应 = self.handle_exception(不含(

文件"/Users/omairbukhari/env_justads/lib/python2.7/site-packages/rest_framework/views.py" in handle_exception 437. self.raise_uncaught_exception(不含(

调度中的文件 "/Users/omairbukhari/env_justads/lib/python2.7/site-packages/rest_framework/views.py" 474. 响应 = 处理程序(请求, *参数, **夸格(

文件"/Users/omairbukhari/justads/backend/feeds/views.py"正在更新 738. request_data = 请求.数据.复制((

list.copy是在Python 3.3中引入的。

您使用的是Python 2.7,因此您应该降级正在使用的django版本(以1.11(:

来自 Django 的文档:

Django version  Python versions
1.11            2.7, 3.4, 3.5, 3.6
2.0             3.4, 3.5, 3.6, 3.7
2.1, 2.2        3.5, 3.6, 3.7

更新

请参阅堆栈跟踪中的最后一行:

File "/Users/omairbukhari/justads/backend/feeds/views.py" in update 738. 
request_data = request.data.copy()

相反,请使用空切片:request_data = request.data[:]

如果这不是你的代码,你没有正确降级 django 的版本。

最新更新