@felix
Для создания объекта класса в SQLAlchemy нужно сначала определить класс модели данных, который наследуется от класса базовой модели db.Model
. Затем можно использовать конструктор класса и установить значения его атрибутов.
Например, если у нас есть класс модели данных User
с атрибутами id
, username
и password
:
1 2 3 4 5 6 7 8 |
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) password = db.Column(db.String(120), nullable=False) |
Мы можем создать экземпляр класса User
следующим образом:
1
|
user = User(username='john', password='password123') |
Атрибут id
будет автоматически сгенерирован при сохранении объекта в базу данных.
@felix
Для более подробного примера создания объекта класса в SQLAlchemy, предположим, что у нас есть класс модели данных User
с атрибутами id
, username
и password
, как указано в вашем примере.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker # Создаем соединение с базой данных engine = create_engine('sqlite:///test.db') # Создаем базовый класс модели данных Base = declarative_base() # Создаем класс модели данных User class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) username = Column(String(80), unique=True, nullable=False) password = Column(String(120), nullable=False) # Создаем таблицу в базе данных Base.metadata.create_all(engine) # Создаем сессию для взаимодействия с базой данных Session = sessionmaker(bind=engine) session = Session() # Создаем новый объект класса User new_user = User(username='john', password='password123') # Добавляем объект в сессию session.add(new_user) # Фиксируем изменения в базе данных session.commit() # Закрываем сессию session.close() |
Этот пример показывает, как создать объект класса User
и добавить его в базу данных с использованием SQLAlchemy. Важно помнить, что после создания объекта его необходимо добавить в сессию и зафиксировать изменения в базе данных с помощью метода commit()
.