#filter logic

6 messages · Page 1 of 1 (latest)

tribal wedge
#

I'm using on Backend the djjango-filter, and is working well, here the code of views,py, where i set the filters:

    queryset = Usuarios.objects.all().order_by('id')
    serializer_class = UserSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ['funcao', 'is_staff', 'agencia']
    
class GroupViewSet(viewsets.ModelViewSet):
    queryset = Group.objects.all()
    serializer_class = GroupSerializer
    
class UnitiesViewSet(viewsets.ModelViewSet):
    queryset = Unidades.objects.all().order_by('id')
    serializer_class = UnitiesSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ['tipo', 'sistemas']
    

class AtivosAdminViewSet(viewsets.ModelViewSet):
    queryset = Ativos_Administrativos.objects.all().order_by('id')
    serializer_class = AtivosAdminSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ['tipo_ativo', 'classe_ativo', 'status']
    
    
class AtivosOperationalViewSet(viewsets.ModelViewSet):
    queryset = Ativos_Operacionais.objects.all().order_by('id')
    serializer_class = AtivosOperacionaisSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ['tipo_ativo', 'tipo_investimento', 'status', 'etapa_do_servico']```

but actually i can't do the logic to get the filters on frontend and filter. On frontend i am using Axios and react-query.

```export async function getUsersFilters(filters: any) {
    try {
        const response = await api.get('/usuarios/', {params: filters})
        return response.data
    } catch (error) {
        console.error(error)
        throw error
    }
}

export const useGetUsersFilters = (filters: any) => {
    return useQuery({
        queryKey: [QUERY_KEYS.GET_USERS_FILTERS, filters],
        queryFn:() => getUsersFilters(filters),
        staleTime: 1000 * 60 * 5,
        retry: 1,
        refetchOnWindowFocus: false
    })
}```
lament plume
#

If you're talking about getting the filtering options, try an OPTIONS request.

tribal wedge
#

this page is more about all the examples on how customize the requisitions, like params, right?

lament plume
#

Correct