Uw Eerste Model Maken
In SQLAlchemy omvat het aanmaken van een model het definiëren van een Python-klasse 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)
Dit definieert een Python-klasse genaamd Comment
, 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, waarmee elke reactie een unieke identificatie krijgt. SQLAlchemy verhoogt deze waarde automatisch voor elk nieuw record.
content = Column(Text, nullable=False)
Het veld id
bevat de inhoud van de reactie en mag niet leeg zijn. Dit zorgt ervoor dat elke reactie tekst bevat.
created_at = Column(DateTime, default=datetime.utcnow)
Het veld created_at
slaat automatisch het tijdstip op waarop de reactie is aangemaakt. Indien geen waarde wordt opgegeven, wordt deze ingesteld op het huidige tijdstip met datetime.utcnow
, zodat de tijd 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 startpunt 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
id
moet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven. - De kolom
username
moet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in. - De kolom
is_active
moet een standaardwaarde vanTrue
hebben. 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 omvat het aanmaken van een model het definiëren van een Python-klasse 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)
Dit definieert een Python-klasse genaamd Comment
, 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, waarmee elke reactie een unieke identificatie krijgt. SQLAlchemy verhoogt deze waarde automatisch voor elk nieuw record.
content = Column(Text, nullable=False)
Het veld id
bevat de inhoud van de reactie en mag niet leeg zijn. Dit zorgt ervoor dat elke reactie tekst bevat.
created_at = Column(DateTime, default=datetime.utcnow)
Het veld created_at
slaat automatisch het tijdstip op waarop de reactie is aangemaakt. Indien geen waarde wordt opgegeven, wordt deze ingesteld op het huidige tijdstip met datetime.utcnow
, zodat de tijd 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 startpunt 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
id
moet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven. - De kolom
username
moet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in. - De kolom
is_active
moet een standaardwaarde vanTrue
hebben. Voeg het juiste argument toe om deze standaardwaarde in te stellen.
Oplossing
Bedankt voor je feedback!
single