Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Створення Першої Моделі | SQLAlchemy
Бази Даних у Python

bookСтворення Першої Моделі

У SQLAlchemy створення моделі передбачає визначення класу Python, який відповідає таблиці у базі даних. Кожен екземпляр цього класу представляє рядок у таблиці. Розглянемо простий приклад створення моделі Comment для зберігання коментарів користувачів.

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)

Цей код визначає клас Python з назвою Comment, який представляє таблицю у базі даних. Клас наслідується від Base, що дозволяє йому бути відображеним на таблицю у базі даних.

__tablename__ = "comments"

Клас Comment, що наслідується від Base, визначає таблицю у базі даних. Це дозволяє відображати його на таблицю за допомогою Object-Relational Mapping (ORM).

id = Column(Integer, primary_key=True)

Поле id виконує роль первинного ключа, забезпечуючи унікальний ідентифікатор для кожного коментаря. SQLAlchemy автоматично збільшує значення для кожного нового запису.

content = Column(Text, nullable=False)

Поле id містить текст коментаря і не може бути порожнім (null).

created_at = Column(DateTime, default=datetime.utcnow)

Поле created_at автоматично зберігає мітку часу створення коментаря. Якщо значення не вказано, воно встановлюється на поточний час за допомогою datetime.utcnow, що гарантує збереження часу у форматі UTC.

Base.metadata.create_all(engine)

Цей рядок створює всі таблиці у базі даних, які були визначені у моделях. Він використовує інформацію з метаданих і створює необхідні таблиці через підключення, яке надає engine. Це корисно для автоматичного створення таблиць, якщо вони ще не існують.

Завдання

Swipe to start coding

У цьому завданні вам надано початковий шаблон для визначення моделі SQLAlchemy. Ваше завдання — завершити модель, заповнивши відсутні частини.

  1. Атрибут __tablename__ визначає назву таблиці в базі даних. Замініть заповнювач на правильну назву таблиці для моделі User.
  2. Стовпець id має бути позначений як первинний ключ. Додайте відповідний ключовий аргумент для цього.
  3. Стовпець username має бути унікальним, тобто жодні два користувачі не можуть мати однаковий username. Заповніть відсутній ключовий аргумент.
  4. Стовпець is_active повинен мати значення за замовчуванням True. Додайте відповідний аргумент для встановлення цього значення за замовчуванням.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 4.76

bookСтворення Першої Моделі

Свайпніть щоб показати меню

У SQLAlchemy створення моделі передбачає визначення класу Python, який відповідає таблиці у базі даних. Кожен екземпляр цього класу представляє рядок у таблиці. Розглянемо простий приклад створення моделі Comment для зберігання коментарів користувачів.

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)

Цей код визначає клас Python з назвою Comment, який представляє таблицю у базі даних. Клас наслідується від Base, що дозволяє йому бути відображеним на таблицю у базі даних.

__tablename__ = "comments"

Клас Comment, що наслідується від Base, визначає таблицю у базі даних. Це дозволяє відображати його на таблицю за допомогою Object-Relational Mapping (ORM).

id = Column(Integer, primary_key=True)

Поле id виконує роль первинного ключа, забезпечуючи унікальний ідентифікатор для кожного коментаря. SQLAlchemy автоматично збільшує значення для кожного нового запису.

content = Column(Text, nullable=False)

Поле id містить текст коментаря і не може бути порожнім (null).

created_at = Column(DateTime, default=datetime.utcnow)

Поле created_at автоматично зберігає мітку часу створення коментаря. Якщо значення не вказано, воно встановлюється на поточний час за допомогою datetime.utcnow, що гарантує збереження часу у форматі UTC.

Base.metadata.create_all(engine)

Цей рядок створює всі таблиці у базі даних, які були визначені у моделях. Він використовує інформацію з метаданих і створює необхідні таблиці через підключення, яке надає engine. Це корисно для автоматичного створення таблиць, якщо вони ще не існують.

Завдання

Swipe to start coding

У цьому завданні вам надано початковий шаблон для визначення моделі SQLAlchemy. Ваше завдання — завершити модель, заповнивши відсутні частини.

  1. Атрибут __tablename__ визначає назву таблиці в базі даних. Замініть заповнювач на правильну назву таблиці для моделі User.
  2. Стовпець id має бути позначений як первинний ключ. Додайте відповідний ключовий аргумент для цього.
  3. Стовпець username має бути унікальним, тобто жодні два користувачі не можуть мати однаковий username. Заповніть відсутній ключовий аргумент.
  4. Стовпець is_active повинен мати значення за замовчуванням True. Додайте відповідний аргумент для встановлення цього значення за замовчуванням.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

some-alt