@Durilka96

Как возвратить статус код 200 вместо 500?

С фронта отправляю запрос, выполняю добавление в БД, добавление происходит корректно, но выдается ошибка и статус код 500, как это можно исправить, чтобы возвращало статус код 200?
#views.py
class UpdateFirstFaceSet(viewsets.ModelViewSet):
    '''Добавление/Обновление в БД должностного лица'''
    def get_queryset(self):
        id_update_first_face = self.request.query_params.get('id-update-first-face')
        update_string = models.SearchFaceBuffer.objects.values('face', 'country', 'position').get(id=id_update_first_face)
        queryset = models.SearchFace.objects.update_or_create(
                                                    face=update_string['face'],
                                                    defaults={'country': update_string['country'],
                                                              'position': update_string['position']}
                                                   )
        return queryset

    serializer_class = serializers.SearchFaceSerializer

#Ошибка
AttributeError: 'Response' object has no attribute 'model'
[14/Jun/2022 15:44:14] "GET /api/update-first-face/?id-update-first-face=1 HTTP/1.1" 500 102966
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bacon
1. 500 это ошибка, тебе явно же про нее написали
2. get_queryset вообще не должен ничего создавать, и get_queryset должен возвращать QuerySet, то что ты делаешь это треш
3. у тебя REST API, да еще и ModelViewSet, GET используется для получения данных, для создания используют POST, для модификации PUT/PATCH
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы