Bom dia,
É possível realizar um filtro num endpoint utilizando o __in=[]? Para exemplificar segue uma classe que tem um choices com atributo
class Agendamento(Base):
"""Classe para gerenciamento do agendamento"""
SOLICITADO = 3
AGENDADO = 2
CONFIRMADO = 1
FINALIZADO = 4
CANCELADO = 5
NAO_COMPARECEU = 6
CHOICE_ETAPAS = [
(SOLICITADO, "Solicitado"),
(AGENDADO, "Agendando"),
(CONFIRMADO, "Confirmado"),
(CANCELADO, "Cancelado"),
(FINALIZADO, "Finalizado"),
(NAO_COMPARECEU, "Não Compareceu"),
]
...
etapa = models.PositiveIntegerField("Status", choices=CHOICE_ETAPAS, default="2")
Tendo esse model eu tenho o viewset:
class AgendamentoGetAPI(OptimizedQuerySetMixin, ReadOnlyModelViewSet):
"""
Classe para retorno dos dados para quando o usuário precisa determinar quais os campos devem ser retornados
Apenas para métodos GET
"""
pagination_class = AgendamentoGetSerializarPagination
queryset = Agendamento.objects.select_related().all()
serializer_class = AgendamentoGetSerializer
filter_backend = [filters.SearchFilter]
filterset_fields = [... , 'etapa', ... ]
search_fields = ['fk_cliente', 'fk_profissional', 'etapa']
`
Veja que coloquei no filterset_fields o campo etapa. Gostaria agora de filtrar todos os registrs que a etapa seja 1 ou 3, como faço isso?