single
Creazione del Primo Modello
Scorri per mostrare il menu
In SQLAlchemy, la creazione di un modello consiste nella definizione di una classe Python che corrisponde a una tabella nel database. Ogni istanza di questa classe rappresenta una riga nella tabella. Di seguito viene illustrato un semplice esempio in cui viene creato un modello Comment per memorizzare i commenti degli utenti.
from sqlalchemy import Column, Integer, String, Text, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime
Base = declarative_base()
class Comment(Base):
__tablename__ = "comments" # the name of the table in the database
id = Column(Integer, primary_key=True) # primary key column, uniquely identifies each comment
content = Column(Text, nullable=False) # content of the comment, cannot be null
created_at = Column(DateTime, default=datetime.utcnow) # timestamp when the comment is created, defaults to current time
# Create all tables defined by models
Base.metadata.create_all(engine)
Questa definisce una classe Python chiamata Comment, che rappresenta una tabella nel database. La classe eredita da Base, il che consente di mappare la classe a una tabella nel database.
__tablename__ = "comments"
La classe Comment, che eredita da Base, definisce una tabella nel database. Questo permette di mappare la classe a una tabella del database utilizzando l'Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Il campo id funge da chiave primaria, garantendo che ogni commento abbia un identificatore univoco. SQLAlchemy incrementa automaticamente il valore per ogni nuovo record.
content = Column(Text, nullable=False)
Il campo content contiene il testo di un commento. È un campo obbligatorio, quindi un commento non può essere aggiunto al database se questo campo è nullo.
created_at = Column(DateTime, default=datetime.utcnow)
Il campo created_at memorizza automaticamente il timestamp relativo al momento in cui il commento è stato creato. Se non viene fornito alcun valore, viene impostato l'orario corrente tramite datetime.utcnow, assicurando che il timestamp sia registrato in UTC.
Base.metadata.create_all(engine)
Questa riga crea tutte le tabelle nel database che sono state definite nei modelli. Utilizza le informazioni dalla metadata e crea le tabelle necessarie tramite la connessione fornita dall'engine. Questa operazione è utile per creare automaticamente le tabelle se non esistono già.
Scorri per iniziare a programmare
In questo esercizio, ti viene fornito un punto di partenza per definire un modello SQLAlchemy. Il tuo compito è completare il modello inserendo le parti mancanti.
- L'attributo
__tablename__specifica il nome della tabella nel database. Sostituisci il segnaposto con il nome corretto della tabella per il modelloUser. - La colonna
iddeve essere contrassegnata come chiave primaria. Aggiungi l'argomento keyword corretto per indicarlo. - La colonna
usernamedeve essere univoca, cioè nessun utente può avere lo stesso username. Inserisci l'argomento keyword mancante. - La colonna
is_activedeve avere un valore predefinito pari aTrue. Aggiungi l'argomento appropriato per impostare questo valore di default.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione