Opprette Din Første Modell
I SQLAlchemy innebærer det å opprette en modell å definere en Python-klasse som tilsvarer en tabell i databasen. Hver instans av denne klassen representerer en rad i tabellen. Her er et enkelt eksempel der vi oppretter en Comment-modell for å lagre brukernes kommentarer.
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 kalt Comment, som representerer en tabell i databasen. Klassen arver fra Base, noe som gjør det mulig å knytte den til en tabell i databasen.
__tablename__ = "comments"
Comment-klassen, som arver fra Base, definerer en tabell i databasen. Dette gjør det mulig å knytte den til en databasetabell ved hjelp av Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Feltet id fungerer som primærnøkkel, og sikrer at hver kommentar har en unik identifikator. SQLAlchemy øker automatisk verdien for hver ny post.
content = Column(Text, nullable=False)
Feltet content inneholder teksten til en kommentar. Dette er et obligatorisk felt, noe som betyr at en kommentar ikke kan legges til i databasen dersom dette feltet er null.
created_at = Column(DateTime, default=datetime.utcnow)
Feltet created_at lagrer automatisk tidsstempelet for når kommentaren ble opprettet. Hvis ingen verdi oppgis, settes det til gjeldende tidspunkt ved bruk av datetime.utcnow, slik at tidsstempelet registreres i UTC.
Base.metadata.create_all(engine)
Denne linjen oppretter alle tabeller i databasen som er definert i modellene. Den bruker informasjonen fra metadata og oppretter nødvendige tabeller via tilkoblingen som tilbys av engine. Dette er nyttig for automatisk å opprette tabeller dersom de ikke allerede finnes.
Swipe to start coding
I denne oppgaven får du et utgangspunkt for å definere en SQLAlchemy-modell. Din oppgave er å fullføre modellen ved å fylle inn de manglende delene.
- Attributtet
__tablename__angir tabellnavnet i databasen. Bytt ut plassholderen med riktig tabellnavn forUser-modellen. - Kolonnen
idskal markeres som primærnøkkel. Legg til riktig nøkkelordargument for å angi dette. - Kolonnen
usernameskal være unik, slik at ingen to brukere kan ha samme brukernavn. Fyll inn det manglende nøkkelordargumentet. - Kolonnen
is_activeskal ha en standardverdi påTrue. Legg til riktig argument for å angi denne standardverdien.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Opprette Din Første Modell
Sveip for å vise menyen
I SQLAlchemy innebærer det å opprette en modell å definere en Python-klasse som tilsvarer en tabell i databasen. Hver instans av denne klassen representerer en rad i tabellen. Her er et enkelt eksempel der vi oppretter en Comment-modell for å lagre brukernes kommentarer.
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 kalt Comment, som representerer en tabell i databasen. Klassen arver fra Base, noe som gjør det mulig å knytte den til en tabell i databasen.
__tablename__ = "comments"
Comment-klassen, som arver fra Base, definerer en tabell i databasen. Dette gjør det mulig å knytte den til en databasetabell ved hjelp av Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Feltet id fungerer som primærnøkkel, og sikrer at hver kommentar har en unik identifikator. SQLAlchemy øker automatisk verdien for hver ny post.
content = Column(Text, nullable=False)
Feltet content inneholder teksten til en kommentar. Dette er et obligatorisk felt, noe som betyr at en kommentar ikke kan legges til i databasen dersom dette feltet er null.
created_at = Column(DateTime, default=datetime.utcnow)
Feltet created_at lagrer automatisk tidsstempelet for når kommentaren ble opprettet. Hvis ingen verdi oppgis, settes det til gjeldende tidspunkt ved bruk av datetime.utcnow, slik at tidsstempelet registreres i UTC.
Base.metadata.create_all(engine)
Denne linjen oppretter alle tabeller i databasen som er definert i modellene. Den bruker informasjonen fra metadata og oppretter nødvendige tabeller via tilkoblingen som tilbys av engine. Dette er nyttig for automatisk å opprette tabeller dersom de ikke allerede finnes.
Swipe to start coding
I denne oppgaven får du et utgangspunkt for å definere en SQLAlchemy-modell. Din oppgave er å fullføre modellen ved å fylle inn de manglende delene.
- Attributtet
__tablename__angir tabellnavnet i databasen. Bytt ut plassholderen med riktig tabellnavn forUser-modellen. - Kolonnen
idskal markeres som primærnøkkel. Legg til riktig nøkkelordargument for å angi dette. - Kolonnen
usernameskal være unik, slik at ingen to brukere kan ha samme brukernavn. Fyll inn det manglende nøkkelordargumentet. - Kolonnen
is_activeskal ha en standardverdi påTrue. Legg til riktig argument for å angi denne standardverdien.
Løsning
Takk for tilbakemeldingene dine!
single