Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guilhermecarvalhocarneiro/00ba49d9f6bee89b32931eb9d8a6bd35 to your computer and use it in GitHub Desktop.
Save guilhermecarvalhocarneiro/00ba49d9f6bee89b32931eb9d8a6bd35 to your computer and use it in GitHub Desktop.
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