Skapa Din Första Modell
I SQLAlchemy innebär att skapa en modell att definiera en Python-klass som motsvarar en tabell i databasen. Varje instans av denna klass representerar en rad i tabellen. Här följer ett enkelt exempel där vi skapar en Comment
-modell för att lagra användarkommentarer.
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)
Detta definierar en Python-klass kallad Comment
, som representerar en tabell i databasen. Klassen ärver från Base
, vilket möjliggör att den kan mappas till en tabell i databasen.
__tablename__ = "comments"
Comment
-klassen, som ärver från Base
, definierar en tabell i databasen. Detta möjliggör mappning till en databastabell med hjälp av Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Fältet id
fungerar som primärnyckel och säkerställer att varje kommentar har en unik identifierare. SQLAlchemy ökar automatiskt värdet för varje ny post.
content = Column(Text, nullable=False)
Fältet id
innehåller kommentarens innehåll och får inte vara null.
created_at = Column(DateTime, default=datetime.utcnow)
Fältet created_at
lagrar automatiskt tidsstämpeln för när kommentaren skapades. Om inget värde anges sätts det till aktuell tid med datetime.utcnow
, vilket säkerställer att tidsstämpeln registreras i UTC.
Base.metadata.create_all(engine)
Denna rad skapar alla tabeller i databasen som definierats i modellerna. Den använder informationen från metadata och skapar nödvändiga tabeller via anslutningen som tillhandahålls av engine. Detta är användbart för att automatiskt skapa tabeller om de inte redan finns.
Swipe to start coding
I denna uppgift får du en startpunkt för att definiera en SQLAlchemy-modell. Din uppgift är att komplettera modellen genom att fylla i de saknade delarna.
- Attributet
__tablename__
anger tabellnamnet i databasen. Byt ut platshållaren mot det korrekta tabellnamnet för modellenUser
. - Kolumnen
id
ska markeras som primärnyckel. Lägg till rätt nyckelargument för att ange detta. - Kolumnen
username
ska vara unik, vilket innebär att inga två användare kan ha samma användarnamn. Fyll i det saknade nyckelargumentet. - Kolumnen
is_active
ska ha ett standardvärde påTrue
. Lägg till rätt argument för att ange detta standardvärde.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4.76
Skapa Din Första Modell
Svep för att visa menyn
I SQLAlchemy innebär att skapa en modell att definiera en Python-klass som motsvarar en tabell i databasen. Varje instans av denna klass representerar en rad i tabellen. Här följer ett enkelt exempel där vi skapar en Comment
-modell för att lagra användarkommentarer.
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)
Detta definierar en Python-klass kallad Comment
, som representerar en tabell i databasen. Klassen ärver från Base
, vilket möjliggör att den kan mappas till en tabell i databasen.
__tablename__ = "comments"
Comment
-klassen, som ärver från Base
, definierar en tabell i databasen. Detta möjliggör mappning till en databastabell med hjälp av Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Fältet id
fungerar som primärnyckel och säkerställer att varje kommentar har en unik identifierare. SQLAlchemy ökar automatiskt värdet för varje ny post.
content = Column(Text, nullable=False)
Fältet id
innehåller kommentarens innehåll och får inte vara null.
created_at = Column(DateTime, default=datetime.utcnow)
Fältet created_at
lagrar automatiskt tidsstämpeln för när kommentaren skapades. Om inget värde anges sätts det till aktuell tid med datetime.utcnow
, vilket säkerställer att tidsstämpeln registreras i UTC.
Base.metadata.create_all(engine)
Denna rad skapar alla tabeller i databasen som definierats i modellerna. Den använder informationen från metadata och skapar nödvändiga tabeller via anslutningen som tillhandahålls av engine. Detta är användbart för att automatiskt skapa tabeller om de inte redan finns.
Swipe to start coding
I denna uppgift får du en startpunkt för att definiera en SQLAlchemy-modell. Din uppgift är att komplettera modellen genom att fylla i de saknade delarna.
- Attributet
__tablename__
anger tabellnamnet i databasen. Byt ut platshållaren mot det korrekta tabellnamnet för modellenUser
. - Kolumnen
id
ska markeras som primärnyckel. Lägg till rätt nyckelargument för att ange detta. - Kolumnen
username
ska vara unik, vilket innebär att inga två användare kan ha samma användarnamn. Fyll i det saknade nyckelargumentet. - Kolumnen
is_active
ska ha ett standardvärde påTrue
. Lägg till rätt argument för att ange detta standardvärde.
Lösning
Tack för dina kommentarer!
single