Oprettelse af Din Første Model
I SQLAlchemy indebærer oprettelse af en model at definere en Python-klasse, der svarer til en tabel i databasen. Hver instans af denne klasse repræsenterer en række i tabellen. Her gennemgås et simpelt eksempel, hvor der oprettes en Comment-model til lagring af brugerkommentarer.
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)
Dette definerer en Python-klasse kaldet Comment, som repræsenterer en tabel i databasen. Klassen arver fra Base, hvilket gør det muligt at kortlægge den til en tabel i databasen.
__tablename__ = "comments"
Comment-klassen, der arver fra Base, definerer en tabel i databasen. Dette muliggør kortlægning til en databasetabel ved brug af Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Feltet id fungerer som primærnøgle og sikrer, at hver kommentar har en unik identifikator. SQLAlchemy øger automatisk værdien for hver ny post.
content = Column(Text, nullable=False)
Feltet content indeholder teksten til en kommentar. Det er et påkrævet felt, hvilket betyder, at en kommentar ikke kan tilføjes til databasen, hvis dette felt er null.
created_at = Column(DateTime, default=datetime.utcnow)
Feltet created_at gemmer automatisk tidsstemplet for, hvornår kommentaren blev oprettet. Hvis der ikke angives en værdi, sættes det til det aktuelle tidspunkt ved hjælp af datetime.utcnow, hvilket sikrer, at tidsstemplet registreres i UTC.
Base.metadata.create_all(engine)
Denne linje opretter alle tabeller i databasen, der er defineret i modellerne. Den anvender oplysningerne fra metadata og opretter de nødvendige tabeller via forbindelsen, der leveres af engine. Dette er nyttigt til automatisk at oprette tabeller, hvis de ikke allerede eksisterer.
Swipe to start coding
I denne opgave får du et udgangspunkt for at definere en SQLAlchemy-model. Din opgave er at færdiggøre modellen ved at udfylde de manglende dele.
- Attributten
__tablename__angiver navnet på tabellen i databasen. Udskift pladsholderen med det korrekte tabelnavn forUser-modellen. - Kolonnen
idskal markeres som primærnøgle. Tilføj det korrekte nøgleargument for at angive dette. - Kolonnen
usernameskal være unik, hvilket betyder, at ingen to brugere kan have det samme brugernavn. Udfyld det manglende nøgleargument. - Kolonnen
is_activeskal have en standardværdi påTrue. Tilføj det rette argument for at angive denne standardværdi.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what the `engine` variable is and how to set it up?
How do I add a new comment to the database using this model?
What is the purpose of `declarative_base()` in this example?
Awesome!
Completion rate improved to 4.76
Oprettelse af Din Første Model
Stryg for at vise menuen
I SQLAlchemy indebærer oprettelse af en model at definere en Python-klasse, der svarer til en tabel i databasen. Hver instans af denne klasse repræsenterer en række i tabellen. Her gennemgås et simpelt eksempel, hvor der oprettes en Comment-model til lagring af brugerkommentarer.
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)
Dette definerer en Python-klasse kaldet Comment, som repræsenterer en tabel i databasen. Klassen arver fra Base, hvilket gør det muligt at kortlægge den til en tabel i databasen.
__tablename__ = "comments"
Comment-klassen, der arver fra Base, definerer en tabel i databasen. Dette muliggør kortlægning til en databasetabel ved brug af Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Feltet id fungerer som primærnøgle og sikrer, at hver kommentar har en unik identifikator. SQLAlchemy øger automatisk værdien for hver ny post.
content = Column(Text, nullable=False)
Feltet content indeholder teksten til en kommentar. Det er et påkrævet felt, hvilket betyder, at en kommentar ikke kan tilføjes til databasen, hvis dette felt er null.
created_at = Column(DateTime, default=datetime.utcnow)
Feltet created_at gemmer automatisk tidsstemplet for, hvornår kommentaren blev oprettet. Hvis der ikke angives en værdi, sættes det til det aktuelle tidspunkt ved hjælp af datetime.utcnow, hvilket sikrer, at tidsstemplet registreres i UTC.
Base.metadata.create_all(engine)
Denne linje opretter alle tabeller i databasen, der er defineret i modellerne. Den anvender oplysningerne fra metadata og opretter de nødvendige tabeller via forbindelsen, der leveres af engine. Dette er nyttigt til automatisk at oprette tabeller, hvis de ikke allerede eksisterer.
Swipe to start coding
I denne opgave får du et udgangspunkt for at definere en SQLAlchemy-model. Din opgave er at færdiggøre modellen ved at udfylde de manglende dele.
- Attributten
__tablename__angiver navnet på tabellen i databasen. Udskift pladsholderen med det korrekte tabelnavn forUser-modellen. - Kolonnen
idskal markeres som primærnøgle. Tilføj det korrekte nøgleargument for at angive dette. - Kolonnen
usernameskal være unik, hvilket betyder, at ingen to brugere kan have det samme brugernavn. Udfyld det manglende nøgleargument. - Kolonnen
is_activeskal have en standardværdi påTrue. Tilføj det rette argument for at angive denne standardværdi.
Løsning
Tak for dine kommentarer!
single