Получение rest_framework.exceptions.ParseError: Ошибка разбора JSON - кодек 'utf-8' не может декодировать байт 0xff в позиции 260: недопустимый начальный байт
Я создаю rest api, используя django rest framework. Я делаю post запрос через postman и передаю тело как данные формы, как показано на изображении ниже:
Код в файле views.py выглядит следующим образом:
def addItem(request):
if request.method == "POST":
items = request.body
itemStream = io.BytesIO(items)
dataItems = JSONParser().parse(itemStream)
serializedData = MenuSerializer(data=dataItems)
if serializedData.is_valid():
serializedData.save()
responseMessage={'message':"Items added successfully"}
return JsonResponse(responseMessage)
json_data=JSONRenderer().render(serializedData.error)
return HttpResponse(json_data,content_type='application/json')
Код файла serializer.py следующий:
from dataclasses import fields
from .models import Menu
from rest_framework import serializers
class MenuSerializer(serializers.ModelSerializer):
class Meta:
model = Menu
fields = '__all__'
def create(self,validated_data):
return Menu.objects.create(**validated_data)
Код файла models.py следующий:
class Menu(models.Model):
item_name = models.CharField(max_length=20)
image = models.ImageField(upload_to="media")
category = models.CharField(max_length=20)
price = models.IntegerField()
discount = models.IntegerField()
plate_size = models.IntegerField()
Вы выбрали форму-данные, поэтому данные, полученные в request.body не в формате ключ-значение. Вы можете убедиться в этом, распечатав элементы в терминале.
выберите raw и в выпадающем списке выберите json, как показано ниже: Step1
Затем напишите json-данные для вставки в заданный редактор, как показано ниже. Введите здесь описание изображения
Затем нажмите на кнопку отправить. Примечание: Я взял другой json для