Створення Першої Моделі
У 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. Ваше завдання — завершити модель, заповнивши відсутні частини.
- Атрибут
__tablename__
визначає назву таблиці в базі даних. Замініть заповнювач на правильну назву таблиці для моделіUser
. - Стовпець
id
має бути позначений як первинний ключ. Додайте відповідний ключовий аргумент для цього. - Стовпець
username
має бути унікальним, тобто жодні два користувачі не можуть мати однаковий username. Заповніть відсутній ключовий аргумент. - Стовпець
is_active
повинен мати значення за замовчуваннямTrue
. Додайте відповідний аргумент для встановлення цього значення за замовчуванням.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4.76
Створення Першої Моделі
Свайпніть щоб показати меню
У 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. Ваше завдання — завершити модель, заповнивши відсутні частини.
- Атрибут
__tablename__
визначає назву таблиці в базі даних. Замініть заповнювач на правильну назву таблиці для моделіUser
. - Стовпець
id
має бути позначений як первинний ключ. Додайте відповідний ключовий аргумент для цього. - Стовпець
username
має бути унікальним, тобто жодні два користувачі не можуть мати однаковий username. Заповніть відсутній ключовий аргумент. - Стовпець
is_active
повинен мати значення за замовчуваннямTrue
. Додайте відповідний аргумент для встановлення цього значення за замовчуванням.
Рішення
Дякуємо за ваш відгук!
single