У меня нет большого опыта работы с python, но у меня есть задача написать сервер в django, который будет обрабатывать запросы API, которые я отправил из передней части, дело в том, что eventho GET работает хорошо, POST по-прежнему выдает некоторые ошибки. Если я добавляю новый логотип через панель администратора, он работает, когда я пытаюсь сделать это через почтальона, он выдает эту ошибку:
Traceback (most recent call last):
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/user/.local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
AttributeError: 'LogoSerializer' object has no attribute 'name'
мой код: EDITED
класс LogoViewSet (viewsets.ViewSet): def list (self, request): queryset = Logo.objects.all () serializer = LogoSerializer (queryset, many = True) возвращать ответ (serializer.data)
def create(self, request):
serializer = LogoSerializer(data=request.data)
if serializer.is_valid():
bg = LogoSerializer(
name=serializer.name,
thumb=serializer.thumb,
thumbL=serializer.thumbL,
dataL=serializer.dataL,
)
bg.save()
else:
bg = serializer.errors
# print(bg)
return Response(bg)
и сериализатор:
class LogoSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Logo
fields = ('name', 'thumb', 'thumbL', 'dataL')
def create(self, validated_data):
return Logo.objects.create(**validated_data)