Uw Eerste Model Maken
In SQLAlchemy houdt het aanmaken van een model in dat een Python-klasse wordt gedefinieerd die overeenkomt met een tabel in de database. Elke instantie van deze klasse vertegenwoordigt een rij in de tabel. Hier volgt een eenvoudig voorbeeld waarin we een Comment-model maken voor het opslaan van gebruikersreacties.
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)
Hier wordt een Python-klasse genaamd Comment gedefinieerd, die een tabel in de database vertegenwoordigt. De klasse erft van Base, waardoor deze gekoppeld kan worden aan een tabel in de database.
__tablename__ = "comments"
De Comment-klasse, die erft van Base, definieert een tabel in de database. Hierdoor kan deze gekoppeld worden aan een databasetabel via Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Het veld id fungeert als de primaire sleutel, waardoor elke reactie een unieke identificatie krijgt. SQLAlchemy verhoogt deze waarde automatisch voor elk nieuw record.
content = Column(Text, nullable=False)
Het veld content bevat de tekst van een reactie. Dit is een verplicht veld; een reactie kan niet aan de database worden toegevoegd als dit veld leeg is.
created_at = Column(DateTime, default=datetime.utcnow)
Het veld created_at slaat automatisch de tijdstempel op van wanneer de reactie is aangemaakt. Als er geen waarde wordt opgegeven, wordt deze ingesteld op het huidige tijdstip met datetime.utcnow, zodat de tijdstempel in UTC wordt geregistreerd.
Base.metadata.create_all(engine)
Deze regel maakt alle tabellen in de database aan die in de modellen zijn gedefinieerd. Het gebruikt de informatie uit de metadata en maakt de benodigde tabellen via de verbinding die door de engine wordt geleverd. Dit is handig voor het automatisch aanmaken van tabellen als deze nog niet bestaan.
Swipe to start coding
In deze taak krijg je een beginpunt voor het definiëren van een SQLAlchemy-model. Je opdracht is om het model te voltooien door de ontbrekende onderdelen in te vullen.
- Het attribuut
__tablename__specificeert de naam van de tabel in de database. Vervang de tijdelijke aanduiding door de juiste tabelnaam voor hetUser-model. - De kolom
idmoet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven. - De kolom
usernamemoet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in. - De kolom
is_activemoet een standaardwaarde vanTruehebben. Voeg het juiste argument toe om deze standaardwaarde in te stellen.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Uw Eerste Model Maken
Veeg om het menu te tonen
In SQLAlchemy houdt het aanmaken van een model in dat een Python-klasse wordt gedefinieerd die overeenkomt met een tabel in de database. Elke instantie van deze klasse vertegenwoordigt een rij in de tabel. Hier volgt een eenvoudig voorbeeld waarin we een Comment-model maken voor het opslaan van gebruikersreacties.
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)
Hier wordt een Python-klasse genaamd Comment gedefinieerd, die een tabel in de database vertegenwoordigt. De klasse erft van Base, waardoor deze gekoppeld kan worden aan een tabel in de database.
__tablename__ = "comments"
De Comment-klasse, die erft van Base, definieert een tabel in de database. Hierdoor kan deze gekoppeld worden aan een databasetabel via Object-Relational Mapping (ORM).
id = Column(Integer, primary_key=True)
Het veld id fungeert als de primaire sleutel, waardoor elke reactie een unieke identificatie krijgt. SQLAlchemy verhoogt deze waarde automatisch voor elk nieuw record.
content = Column(Text, nullable=False)
Het veld content bevat de tekst van een reactie. Dit is een verplicht veld; een reactie kan niet aan de database worden toegevoegd als dit veld leeg is.
created_at = Column(DateTime, default=datetime.utcnow)
Het veld created_at slaat automatisch de tijdstempel op van wanneer de reactie is aangemaakt. Als er geen waarde wordt opgegeven, wordt deze ingesteld op het huidige tijdstip met datetime.utcnow, zodat de tijdstempel in UTC wordt geregistreerd.
Base.metadata.create_all(engine)
Deze regel maakt alle tabellen in de database aan die in de modellen zijn gedefinieerd. Het gebruikt de informatie uit de metadata en maakt de benodigde tabellen via de verbinding die door de engine wordt geleverd. Dit is handig voor het automatisch aanmaken van tabellen als deze nog niet bestaan.
Swipe to start coding
In deze taak krijg je een beginpunt voor het definiëren van een SQLAlchemy-model. Je opdracht is om het model te voltooien door de ontbrekende onderdelen in te vullen.
- Het attribuut
__tablename__specificeert de naam van de tabel in de database. Vervang de tijdelijke aanduiding door de juiste tabelnaam voor hetUser-model. - De kolom
idmoet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven. - De kolom
usernamemoet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in. - De kolom
is_activemoet een standaardwaarde vanTruehebben. Voeg het juiste argument toe om deze standaardwaarde in te stellen.
Oplossing
Bedankt voor je feedback!
single