Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uw Eerste Model Maken | SQLAlchemy
Databases in Python

bookUw 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.

Taak

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.

  1. Het attribuut __tablename__ specificeert de naam van de tabel in de database. Vervang de tijdelijke aanduiding door de juiste tabelnaam voor het User-model.
  2. De kolom id moet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven.
  3. De kolom username moet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in.
  4. De kolom is_active moet een standaardwaarde van True hebben. Voeg het juiste argument toe om deze standaardwaarde in te stellen.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4.76

bookUw 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.

Taak

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.

  1. Het attribuut __tablename__ specificeert de naam van de tabel in de database. Vervang de tijdelijke aanduiding door de juiste tabelnaam voor het User-model.
  2. De kolom id moet worden gemarkeerd als de primaire sleutel. Voeg het juiste sleutelwoordargument toe om dit aan te geven.
  3. De kolom username moet uniek zijn, wat betekent dat geen twee gebruikers dezelfde gebruikersnaam mogen hebben. Vul het ontbrekende sleutelwoordargument in.
  4. De kolom is_active moet een standaardwaarde van True hebben. Voeg het juiste argument toe om deze standaardwaarde in te stellen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
single

single

some-alt