Объект сеанса SQLAlchemy: методы и примеры взаимодействия с базой данных

В SQLAlchemy «сеанс объекта» относится к объекту сеанса, который действует как посредник между приложением и базой данных. Он обеспечивает способ взаимодействия с базой данных и выполнения различных операций. Вот некоторые часто используемые методы объекта сеанса SQLAlchemy с примерами кода:

  1. add(): добавляет объект в сеанс.

    from sqlalchemy.orm import sessionmaker
    from sqlalchemy import create_engine
    from models import User
    # Create a session
    Session = sessionmaker(bind=engine)
    session = Session()
    # Create a new user object
    new_user = User(name="John Doe", age=25)
    # Add the user object to the session
    session.add(new_user)
  2. commit(): фиксирует ожидающие изменения в базе данных.

    # Commit the changes
    session.commit()
  3. delete(): удаляет объект из сеанса и базы данных.

    # Delete an object from the session
    session.delete(user_object)
    # Commit the changes to delete the object from the database
    session.commit()
  4. query(): выполняет запрос в сеансе.

    # Query all users
    users = session.query(User).all()
    # Filter users based on a condition
    adult_users = session.query(User).filter(User.age >= 18).all()
  5. rollback(): откатывает текущую транзакцию.

    # Rollback the current transaction
    session.rollback()
  6. flush(): Сбрасывает все ожидающие изменения в базу данных без фиксации.

    # Flush the changes
    session.flush()
  7. close(): закрывает сеанс.

    # Close the session
    session.close()

Это всего лишь несколько примеров методов, доступных в объекте сеанса SQLAlchemy. SQLAlchemy предоставляет больше методов и функций для взаимодействия с базами данных с использованием сеанса.