Created
May 1, 2021 13:05
-
-
Save guilhermecarvalhocarneiro/00ba49d9f6bee89b32931eb9d8a6bd35 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from drf_jsonmask.views import OptimizedQuerySetMixin | |
from rest_framework import filters | |
from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet | |
from datetime import date | |
from .models import Cupom, UsuarioCupom | |
from .serializers import CupomSerializer, UsuarioCupomGETSerializer, CupomGETSerializer, UsuarioCupomSerializer | |
class CupomViewAPI(ModelViewSet): | |
""" Classe para gerenciar as requisições da API para os métodos POST, PUT, PATCH e DELETE """ | |
queryset = Cupom.objects.select_related().all() | |
serializer_class = CupomSerializer | |
class CupomGETAPI(OptimizedQuerySetMixin, ReadOnlyModelViewSet): | |
""" Classe para gerenciar as requisições da API para o métodos GET | |
A lista filterset_fields deve ser configurada com os campos do models que poderão ser utilizados para realizar | |
filtros no models como por exemplo nome_do_campo=valor_a_ser_filtrado | |
A lista search_fields deve ser configurada com os campos do models que poderão ser utilizados para realizar | |
buscas no models como por exemplo search=valor_a_ser_pesquisado | |
""" | |
queryset = Cupom.objects.select_related().filter(fim__gte=date.today()) | |
serializer_class = CupomGETSerializer | |
filter_backend = [filters.SearchFilter] | |
# TODO Configure os parâmetros de filtro (filterset_fields) e buscar (search_fields) | |
filterset_fields = [] | |
search_fields = [] | |
class UsuarioCupomViewAPI(ModelViewSet): | |
""" Classe para gerenciar as requisições da API para os métodos POST, PUT, PATCH e DELETE """ | |
queryset = UsuarioCupom.objects.select_related().all() | |
serializer_class = UsuarioCupomSerializer | |
class UsuarioCupomGETAPI(OptimizedQuerySetMixin, ReadOnlyModelViewSet): | |
""" Classe para gerenciar as requisições da API para o métodos GET | |
A lista filterset_fields deve ser configurada com os campos do models que poderão ser utilizados para realizar | |
filtros no models como por exemplo nome_do_campo=valor_a_ser_filtrado | |
A lista search_fields deve ser configurada com os campos do models que poderão ser utilizados para realizar | |
buscas no models como por exemplo search=valor_a_ser_pesquisado | |
""" | |
queryset = UsuarioCupom.objects.select_related().all() | |
serializer_class = UsuarioCupomGETSerializer | |
filter_backend = [filters.SearchFilter] | |
# TODO Configure os parâmetros de filtro (filterset_fields) e buscar (search_fields) | |
filterset_fields = [] | |
search_fields = [] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment