(django rest) JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError

В моем проекте django rest framework при размещении данных все работает, но когда я добавил валидаторы, то выдает ошибку. Вот serializers.py (с кодом валидатора)

def starts_with_r(value):
        if value['0'].lower() != 'r':
            raise serializers.ValidationError('Name Should start with R')
        return value
        
class StudentSerializer(serializers.Serializer):
    
    name=serializers.CharField(max_length=100, validators=[starts_with_r])
    roll =serializers.IntegerField()
    city=serializers.CharField(max_length=100)
    

views.py (эта часть для обработки пост-запроса

)
 if request.method == 'POST':
        json_data=request.body
        stream=io.BytesIO(json_data)
        pythondata=JSONParser().parse(stream)
        serializer=StudentSerializer(data=pythondata)
        if serializer.is_valid():
            serializer.save()
            res={'msg':'Data Created'}
            json_data=JSONRenderer().render(res)
            return HttpResponse(json_data,content_type='application/json')
        json_data=JSONRenderer().render(serializer.errors)

и myapp.py, в котором я пытаюсь разместить данные

import requests
import json
URL="http://localhost:8000/studentapi/"
def post_data():
    data={
        'name':'rayan',
        'roll':170,
        'city':'Cumilla'
    }
    json_data=json.dumps(data)
    r= requests.post(url=URL, data=json_data)
    data=r.json()
    print(data)

когда я пытаюсь опубликовать данные без валидаторов, они работают, но когда с валидаторами, выдается эта ошибка

File "C:\Users\ITS\Desktop\django-rest\myapp.py", line 45, in <module>
    post_data()
  File "C:\Users\ITS\Desktop\django-rest\myapp.py", line 25, in post_data
    data=r.json()
    
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Вернуться на верх