Когда я запускаю тест, следующий:
def test_match_data_while_updating(self):
match_updated_data = {
'id': 1,
'status': 'not_started',
}
match = Match.objects.first()
# TST N.1 : status not_started
# -------
match.status = 'not_started'
request = self.__class__.factory.put('', match_updated_data, format='json')
add_authentication_to_request(request, is_staff=True)
response = update_match_video(request)
self.assertEqual(Match.objects.first().status,'live')
Я получаю сообщение об ошибке:
print ('запрос данных get match:', request.data.get ('match'). Get ('id'))
AttributeError: объект 'NoneType' не имеет атрибута 'get'
Вот функция, которую я тестирую:
def update_match_video(request):
print('request data get match: ',request.data.get('match').get('id'))
if not request.data.get('match').get('id'):
return JsonResponse({}, status=status.HTTP_400_BAD_REQUEST)
try:
match_id = valid_data_or_error(request.data, method='PUT')['match_data']['id']
match = Match.objects.get(id = match_id)
db_match_status = match.status
if db_match_status == 'live':
valid_data_or_error(request.data, method='PUT')['match_data']['status'] = 'live'
else:
if db_match_status == 'closed':
valid_data_or_error(request.data, method='PUT')['match_data']['status'] = 'closed'
except Match.DoesNotExist:
print('Match does not exist')
Буду признателен за помощь, пожалуйста!