From 01e96ca5ea9037a4e17617de088cfbc0cb556361 Mon Sep 17 00:00:00 2001 From: dunossauro Date: Fri, 4 Oct 2024 23:35:58 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=B5es=20e=20simplifica=C3=A7?= =?UTF-8?q?=C3=B5es=20do=20texto=20na=20aula=2005?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aulas/05.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/aulas/05.md b/aulas/05.md index 00944992..5a3777b5 100644 --- a/aulas/05.md +++ b/aulas/05.md @@ -349,7 +349,7 @@ Porém, é claro, queremos também testar o caso em que existem usuários no ban ### Criando uma fixture para User -Para criar essa fixture, aproveitaremos a nossa fixture de sessão do SQLAlchemy, e criar um novo usuário dentro dela: +Para criar essa fixture, aproveitaremos a nossa fixture de sessão do SQLAlchemy, e criaremos um novo usuário a partir dela: ```python title="tests/conftest.py" from fast_zero.models import User, table_registry @@ -401,9 +401,9 @@ No entanto, mesmo que nosso código pareça correto, podemos encontrar um proble A integração direta do ORM com o nosso esquema Pydantic não é imediata e exige algumas modificações. O Pydantic, por padrão, não sabe como lidar com os modelos do SQLAlchemy, o que nos leva ao erro observado nos testes. -A solução para esse problema passa por fazer uma alteração no esquema `UserPublic` que utilizamos, para que ele possa reconhecer e trabalhar com os modelos do SQLAlchemy. Isso permite que os objetos do SQLAlchemy sejam convertidos corretamente para os esquemas Pydantic. +A solução para esse problema é fazer uma alteração no esquema `UserPublic` que utilizamos, para que ele possa reconhecer e trabalhar com os modelos do SQLAlchemy. Isso permite a conversão direta de objetos do SQLAlchemy em esquemas Pydantic. -Para resolver o problema de conversão entre SQLAlchemy e Pydantic, precisamos atualizar o nosso esquema `UserPublic` para que ele possa reconhecer os modelos do SQLAlchemy. Para isso, adicionaremos a linha `model_config = ConfigDict(from_attributes=True)` ao nosso esquema: +Para isso, adicionaremos a linha `model_config = ConfigDict(from_attributes=True)` ao nosso esquema: ```py title="fast_zero/schemas.py" hl_lines="9" from pydantic import BaseModel, ConfigDict, EmailStr @@ -417,7 +417,7 @@ class UserPublic(BaseModel): model_config = ConfigDict(from_attributes=True) ``` -Com essa mudança, nosso esquema Pydantic agora pode ser convertido a partir de um modelo SQLAlchemy. Agora podemos executar nosso teste novamente e verificar se ele está passando. +Dessa forma a conversão entre modelos e schemas pode acontecer. Vamos executar os testes para validar: ```shell title="$ Execução no terminal!" task test