You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
from controle.models import Cidade, Estado, Pessoa
|
|
from controle.serializers import CidadeSerializer, EstadoSerializer, PessoaSerializer
|
|
from rest_framework import viewsets, filters
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
|
|
|
|
|
# ViewSets define the view behavior.
|
|
class EstadoViewSet(viewsets.ModelViewSet):
|
|
queryset = Estado.objects.all()
|
|
serializer_class = EstadoSerializer
|
|
filter_backends = [filters.SearchFilter, filters.OrderingFilter]
|
|
search_fields = ['nome', 'sigla']
|
|
|
|
|
|
class CidadeViewSet(viewsets.ModelViewSet):
|
|
queryset = Cidade.objects.all()
|
|
serializer_class = CidadeSerializer
|
|
filter_backends = [DjangoFilterBackend,
|
|
filters.SearchFilter, filters.OrderingFilter]
|
|
filter_fields = ['estado']
|
|
search_fields = ['nome', 'ibge']
|
|
|
|
|
|
class PessoaViewSet(viewsets.ModelViewSet):
|
|
queryset = Pessoa.objects.all()
|
|
serializer_class = PessoaSerializer
|
|
filter_backends = [filters.SearchFilter, filters.OrderingFilter]
|
|
filter_fields = ['ativo', 'situacao',
|
|
'criado', 'modificado', 'data_nascimento']
|
|
search_fields = ['nome', 'cpf']
|