Definire uno schema per un model
Dichiari i campi che corrispondono al model.
Definire uno schema per un model è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.
Che cos'è uno schema
Uno Schema è una classe Python che elenca i campi che devono avere i dati. Rispecchia un modello, ma vive separatamente ed è dedicato solo all'input e all'output.
Estendere Schema
Ogni schema eredita dalla classe di base Schema di Marshmallow. Chiamarlo come il modello, ad esempio UserSchema, rende immediata l'intenzione.
class UserSchema(Schema):
passDichiarare i campi
All'interno della classe aggiunga attributi dal modulo fields. Ognuno definisce una chiave che comparirà nell'output JSON serializzato.
id = fields.Int()
name = fields.Str()I tipi dei campi sono importanti
Scelga un tipo di campo che corrisponda ai dati: Int, Str, Bool, Float o DateTime. Il tipo controlla la formattazione e la validazione dei valori.
active = fields.Bool()
score = fields.Float()Gestire correttamente le date
Un campo DateTime serializza automaticamente i datetime Python in stringhe ISO ordinate. Non dovrà più distribuire la formattazione manuale nelle varie view.
created_at = fields.DateTime()Contrassegnare i campi obbligatori
Passi required=True a un campo, così il caricamento fallisce se il campo manca. Questo è il primo assaggio della validazione integrata direttamente nello schema.
email = fields.Str(required=True)Escludere i segreti
Elenchi solo i campi che desidera esporre. Non dichiarando semplicemente password_hash, lo schema non potrà mai inserirlo in una risposta.
Rinominare con data_key
Desidera JSON in camelCase a partire da un attributo snake_case? Usi data_key per associare un nome interno a una chiave esterna diversa.
first_name = fields.Str(data_key="firstName")Campi dump_only
Alcuni campi, come un id, devono comparire nell'output ma non essere mai accettati come input. Li contrassegni con dump_only per mantenerli in sola lettura.
id = fields.Int(dump_only=True)Istanziare lo schema
Crei un'unica istanza da riutilizzare: user_schema uguale a UserSchema(). Più avanti passi many=True quando serializza un elenco completo.
user_schema = UserSchema()Un solo schema, due funzioni
Questa singola classe convertirà i modelli in JSON e ricaricherà il JSON in dati verificati. Definisce la shape una sola volta e la usa in entrambe le direzioni.
Controllo rapido
Desidera che l'id sia leggibile nell'output, ma non venga mai accettato come input.
Riepilogo
Una sottoclasse di Schema dichiara campi tipizzati associati al modello. Opzioni come required, dump_only e data_key definiscono esattamente ciò che entra e ciò che esce.
Domande Frequenti
La lezione «Definire uno schema per un model» è gratuita?
Sì — il testo completo di «Definire uno schema per un model» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.
Cosa imparerò in «Definire uno schema per un model»?
Dichiari i campi che corrispondono al model. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Flask Academy?
Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Definire uno schema per un model»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Flask Academy?
Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché il JSON costruito a mano non funziona
- Definire uno schema per un model
- Convertire oggetti in JSON
- Caricare e validare i payload di input