Mahtavaa!
Completion arvosana parantunut arvoon 4.76single
Ensimmäisen Mallin Luominen
Pyyhkäise näyttääksesi valikon
SQLAlchemyn avulla mallin luominen tarkoittaa Python-luokan määrittelyä, joka vastaa tietokannan taulua. Jokainen tämän luokan ilmentymä edustaa yhtä riviä taulussa. Käydään läpi yksinkertainen esimerkki, jossa luodaan Comment-malli käyttäjien kommenttien tallentamista varten.
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)
Tämä määrittelee Python-luokan nimeltä Comment, joka edustaa taulua tietokannassa. Luokka perii Base:sta, mikä mahdollistaa sen yhdistämisen tietokannan tauluun.
__tablename__ = "comments"
Comment-luokka, joka perii Base:sta, määrittelee taulun tietokantaan. Tämä mahdollistaa sen yhdistämisen tietokantatauluun käyttäen Object-Relational Mapping (ORM) -tekniikkaa.
id = Column(Integer, primary_key=True)
Kenttä id toimii ensisijaisena avaimena (primary key), varmistaen että jokaisella kommentilla on yksilöllinen tunniste. SQLAlchemy kasvattaa arvoa automaattisesti jokaiselle uudelle riville.
content = Column(Text, nullable=False)
Kenttä content sisältää kommentin tekstin. Se on pakollinen kenttä, eli kommenttia ei voi lisätä tietokantaan, jos tämä kenttä on tyhjä.
created_at = Column(DateTime, default=datetime.utcnow)
Kenttä created_at tallentaa automaattisesti aikaleiman sille hetkelle, kun kommentti luodaan. Jos arvoa ei anneta, se asetetaan nykyhetkeen käyttäen datetime.utcnow, jolloin aikaleima tallennetaan UTC-aikavyöhykkeellä.
Base.metadata.create_all(engine)
Tämä rivi luo kaikki taulut tietokantaan, jotka on määritelty malleissa. Se käyttää metadatan tietoja ja luo tarvittavat taulut annetun engine-yhteyden kautta. Tämä on hyödyllistä, kun halutaan luoda taulut automaattisesti, jos niitä ei vielä ole olemassa.
Swipe to start coding
Tässä tehtävässä saat lähtökohdan SQLAlchemy-mallin määrittelyyn. Tehtävänäsi on täydentää malli täyttämällä puuttuvat kohdat.
__tablename__-attribuutti määrittää tietokantataulun nimen. Korvaa paikkamerkki oikealla taulun nimelläUser-mallille.id-sarakkeen tulee olla ensisijainen avain. Lisää oikea avainsana osoittamaan tämä.username-sarakkeen tulee olla yksilöllinen, eli kahdella käyttäjällä ei voi olla samaa käyttäjätunnusta. Täydennä puuttuva avainsana.is_active-sarakkeella tulee olla oletusarvoTrue. Lisää oikea argumentti asettaaksesi tämä oletusarvo.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme