Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Creazione del Primo Modello | SQLAlchemy
Database in Python

bookCreazione del Primo Modello

In SQLAlchemy, la creazione di un modello consiste nel definire una classe Python che corrisponde a una tabella nel database. Ogni istanza di questa classe rappresenta una riga nella tabella. Esaminiamo un semplice esempio in cui creiamo 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 le consente di essere mappata 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 id contiene il contenuto del commento e non può essere nullo.

created_at = Column(DateTime, default=datetime.utcnow)

Il campo created_at memorizza automaticamente il timestamp relativo alla creazione del commento. Se non viene fornito alcun valore, viene impostato l'orario corrente utilizzando 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. Questo è utile per creare automaticamente le tabelle se non esistono già.

Compito

Swipe to start coding

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.

  1. L'attributo __tablename__ specifica il nome della tabella nel database. Sostituisci il segnaposto con il nome corretto della tabella per il modello User.
  2. La colonna id deve essere contrassegnata come chiave primaria. Aggiungi l'argomento keyword corretto per indicarlo.
  3. La colonna username deve essere univoca, ovvero nessun utente può avere lo stesso username. Inserisci l'argomento keyword mancante.
  4. La colonna is_active deve avere un valore predefinito pari a True. Aggiungi l'argomento appropriato per impostare questo valore di default.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4.76

bookCreazione del Primo Modello

Scorri per mostrare il menu

In SQLAlchemy, la creazione di un modello consiste nel definire una classe Python che corrisponde a una tabella nel database. Ogni istanza di questa classe rappresenta una riga nella tabella. Esaminiamo un semplice esempio in cui creiamo 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 le consente di essere mappata 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 id contiene il contenuto del commento e non può essere nullo.

created_at = Column(DateTime, default=datetime.utcnow)

Il campo created_at memorizza automaticamente il timestamp relativo alla creazione del commento. Se non viene fornito alcun valore, viene impostato l'orario corrente utilizzando 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. Questo è utile per creare automaticamente le tabelle se non esistono già.

Compito

Swipe to start coding

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.

  1. L'attributo __tablename__ specifica il nome della tabella nel database. Sostituisci il segnaposto con il nome corretto della tabella per il modello User.
  2. La colonna id deve essere contrassegnata come chiave primaria. Aggiungi l'argomento keyword corretto per indicarlo.
  3. La colonna username deve essere univoca, ovvero nessun utente può avere lo stesso username. Inserisci l'argomento keyword mancante.
  4. La colonna is_active deve avere un valore predefinito pari a True. Aggiungi l'argomento appropriato per impostare questo valore di default.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

some-alt