Я пишу тестов для API с использованием фреймворка Django, метод GET, кажется, работает все в порядке, но когда дело доходит до POST сообщение об ошибке всегда появляется:«ДИКТ» объект имеет атрибута «данные»
'dict' object has no attribute 'data'.
Точная ошибка,
res = respo.post({'ticker': 'FIB','open': 7.0,'close':8.0,'volume':200}) File "C:\Users\sathya.m\Desktop\mydsite\companies\views.py", line 32, in post serializer = StockSerializer(data=request.data) AttributeError: 'dict' object has no attribute 'data'
views.py
def post(self,request):
serializer = StockSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=200)
tests.py
def test_getDataDetails(self):
respo = StockList()
resp = respo.get({'username':'admin','password':'pass'})
res = respo.post({'ticker': 'FIB','open': 7.0,'close':8.0,'volume':200})
self.assertEqual(res.status_code,200)
Вы должны использовать 'request.POST' вместо' request.data' –
Спасибо за ваш ответ. – Rubi
Ошибка ниже: AssertionError: 403! = 200 – Rubi