Closed Abraao1231 closed 3 years ago
Primeiramente mudamos nosso Docker, ficando mais desenvolvido e mais complexo, mas o q mais sofreu mudança foi o scrpit, deixando ele mais auto explicativo e mais consistente, em que houveram casos que integrantes não conseguiram rodar o projeto usando o comando docker-compose up
nem o makeup
Para deixarmos a api mais facil e simples, refatoramos as models e as viewsets usando o model.ViewSet
, que possui tudo que tinhamos utlizados em uma view, assim facilitando na hora dos testes, e na visualização da API, sendo assim mais uma boa prática.
Para podermos linkar tivemos que passar por diversas etapas:
class PacienteModelViewSet(viewsets.ModelViewSet): queryset = Paciente.objects.all() serializer_class = PacienteSerializer lookup_field = 'cpf'
def get_psicologo(self): return Psicologo.objects.get(nCRP=self.kwargs['psicologo_nCRP'])
def get_queryset(self):
psicologo = self.get_psicologo()
return Paciente.objects.filter(psicologo=psicologo)
def perform_create(self, serializer):
psicologo = self.get_psicologo()
paciente = serializer.save(psicologo=psicologo)
AGORA INDO PARA A API, entrando no endpoint
http://0.0.0.0:8000/api/psicologos/
Cadastrando os dois psicologos, e depois procurando e listando indivudualmente atraves do comando
lookup_field = 'cNRP'
dentro do serializerAGORA INDO PARA A PARTE INTERRESANTE A Linkagem, feita principalmente atraves dos rourtes, o codigo abaixo:
from users.views import PsicologoModelViewSet from paciente.views import PacienteModelViewSet
router = routers.DefaultRouter()
router.register(r'psicologos', PsicologoModelViewSet)
psicologo_router = routers.NestedDefaultRouter(
router,
r'psicologos',
lookup='psicologo'
)
psicologo_router.register(r'pacientes', PacienteModelViewSet)
IMPLEMENTAÇÃO DA LINKAGEM
Entrando na url
http://0.0.0.0:8000/api/psicologos/nCRP-do-psicologo/pacientes/
ira listar todos os pacientes do psicologoEntrando na url
http://0.0.0.0:8000/api/psicologos/nCRP-do-psicologo/pacientes/CPF-do-paciente
ira mostrar apenas o paciente que o cpf esta apontando.INICIALIZMOS O TESTES do view.model do usuario psicologo criando uma pasta só para testes
Issues relacionadas:
78
79
112
Por que esse PR é necessário ?
refatoração de cadastro de pacientes e usuário
refatoração do docker e scripts
Criação e inicialização de testes unitários
Tarefas realizadas nesse PR
refatoração de cadastro de pacientes e usuário
.Linkagem de pacientes e psicologos através crp do psicologo
refatoração do docker e scripts.
Criação e inicialização de testes unitários
Descrição:
Descrição do que este requeste irá alterar a forma de cadastro de usuarios e pacientes, irá mudar as configurações básicos do docker e scripts do projeto e também implementar os primeiros testes unitarios do projeto.
Critérios de aceitação.
A pessoa responsável pela review deve explicar através de testes (caso necessário), ou motivo lógico para o PR ser aceito.