Хочу сохранить изображение в бэкэнде django, но выдает ошибку:
"non_field_errors": [
«Неверные данные. Ожидается словарь, но есть кортеж».
]
Я использую django rest framework, когда пытаюсь сохранить изображение и ввод данных в формате json, это дает мне ошибки, не связанные с полями. Ниже приведен формат, в котором я даю данные
Формат данных JSON
{
"title": "Open cv detection",
"description": "abc",
"main_image": "watch2.PNG",
"videourl": null,
"project_rank": 1,
"category": 1
}
Здесь основное изображение - это изображение, которое я хочу загрузить. Я думаю, что я использую неправильный способ указать путь к изображению, может кто-нибудь подсказать, как правильно задать или загрузить изображение в формате json
Views.py:
class CreateProject(APIView):
def get(self,request):
return Response(ProjectCreateSerializer(project).data for project in Project.objects.all())
def post(self,request):
payload=(request.data,request.FILES)
serializer=ProjectCreateSerializer(data=payload)
if serializer.is_valid():
serializer.save()
return Response(serializer.data,status=status.HTTP_201_CREATED)
return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
Serializer.py
class ProjectCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Project
fields = '__all__'
def create(self, validated_data):
project = Project.objects.create(**validated_data)
return project
def update(self, instance, validated_data):
for k, v in validated_data.items():
setattr(instance, k, v)
instance.save()
return instance