ошибка: «аргумент int () должен быть строкой, байтовоподобным объектом или числом, а не« списком »в decorator @action - PullRequest
1 голос
/ 23 октября 2019

Добрый день. Я делаю @action decorator для viewset в django rest, чтобы отфильтровать мою модель по полю и некоторым значениям в списке и, таким образом, получить значения (свойств), которые будут использованы в остальных API. .

Мой код выглядит следующим образом:

class EquiposViewSet(viewsets.ModelViewSet):

    queryset=Equipo.objects.all()
    serializer_class=EquipoSerializer

    @action(methods=['get'], detail=False, url_path='equipos-alarm', url_name='equipos_alarm')
    def equipos_alarm(self, request): # pylint: disable=invalid-name
            queryset=Equipo.objects.filter(id_equipo=[106,107,156,157])

            return Response ( {
                    'id_equipo':equipo.id_equipo,
                    'nombre_equipo':equipo.nombre,
                    'hora_ospf':equipo.recorrido_ospf,
                    'hora_speed':equipo.recorrido_speed,
                } 

                for equipo in queryset     
            )

, и ошибка, которая возвращает меня, следующая:

int () аргумент должен быть строкой, байтами-как объект или число, а не «список»

Как я могу это исправить?

1 Ответ

3 голосов
/ 23 октября 2019

Попробуйте установить фильтр в список:

queryset=Equipo.objects.filter(id_equipo__in=[106,107,156,157])

Кстати, вы должны сообщить об ошибке, о которой идет речь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...