Defina um esquema para um modelo
Declare campos que correspondam ao seu modelo.
Defina um esquema para um modelo é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
O que é um esquema
Um esquema é uma classe Python que lista os campos que seus dados devem ter. Ele reflete um modelo, mas existe separadamente, apenas para entrada e saída.
Crie uma subclasse de Schema
Todo esquema herda da classe base Schema do Marshmallow. Dar a ele o nome do seu modelo, como UserSchema, deixa a intenção evidente de imediato.
class UserSchema(Schema):
passDeclare os campos
Dentro da classe, você adiciona atributos do módulo fields. Cada um nomeia uma chave que aparecerá na saída JSON serializada.
id = fields.Int()
name = fields.Str()Os tipos dos campos importam
Escolha um tipo de campo que corresponda aos dados: Int, Str, Bool, Float ou DateTime. O tipo controla como os valores são formatados e validados.
active = fields.Bool()
score = fields.Float()Datas da maneira correta
Um campo DateTime serializa automaticamente os datetimes do Python em strings ISO limpas. Não é mais necessário espalhar formatações manuais pelas suas visualizações.
created_at = fields.DateTime()Marque os campos obrigatórios
Passe required=True para um campo para que o carregamento falhe se ele estiver ausente. Esta é sua primeira experiência com a validação incorporada diretamente ao esquema.
email = fields.Str(required=True)Deixe os segredos de fora
Liste apenas os campos que deseja expor. Ao simplesmente não declarar password_hash, o esquema nunca poderá vazá-lo em uma resposta.
Renomeie com data_key
Quer JSON em camelCase a partir de um atributo snake_case? Use data_key para mapear um nome interno para uma chave externa diferente.
first_name = fields.Str(data_key="firstName")Campos dump_only
Alguns campos, como um id, devem aparecer na saída, mas nunca ser aceitos como entrada. Marque-os como dump_only para mantê-los somente para leitura.
id = fields.Int(dump_only=True)Instancie o esquema
Crie uma instância para reutilizar: user_schema é igual a UserSchema(). Mais tarde, passe many=True ao serializar uma lista inteira.
user_schema = UserSchema()Um esquema, duas funções
Essa única classe converterá modelos em JSON e também carregará JSON de volta em dados verificados. Você define a estrutura uma vez e a usa nos dois sentidos.
Verificação rápida
Você quer que id possa ser lido na saída, mas nunca aceito como entrada.
Recapitulação
Uma subclasse de Schema declara campos tipados que correspondem ao seu modelo. Opções como required, dump_only e data_key definem exatamente o que entra e o que sai.
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Defina um esquema para um modelo” é grátis?
Sim — o texto completo de “Defina um esquema para um modelo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “Defina um esquema para um modelo”?
Declare campos que correspondam ao seu modelo. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Defina um esquema para um modelo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que o JSON criado manualmente falha
- Defina um esquema para um modelo
- Converta objetos em JSON
- Carregue e valide cargas de entrada