РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
363 of 643 menu

Атрибут engine

Атрибут engine доступен у экземпляра класса SQLAlchemy после инициализации приложения Flask. Он возвращает объект Engine из библиотеки SQLAlchemy, который представляет собой низкоуровневый интерфейс для работы с базой данных. Через этот объект можно открывать соединения, выполнять SQL-запросы напрямую и управлять пулом соединений.

Атрибут не принимает параметров. Обращение к нему происходит через точку: db.engine, где db - это экземпляр класса SQLAlchemy. Объект Engine создаётся автоматически при вызове метода init_app или при инициализации расширения.

Синтаксис

db.engine

Пример

Давайте создадим приложение Flask с базой данных SQLite и получим объект engine:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) with app.app_context(): res = db.engine print(res)

Результат выполнения кода:

Engine(sqlite:///site.db)

Пример

Давайте выполним прямой SQL-запрос через соединение, полученное из engine:

from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import text app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) with app.app_context(): with db.engine.connect() as conn: res = conn.execute(text('SELECT 1')).scalar() print(res)

Результат выполнения кода:

1

Пример

Давайте посмотрим на URL базы данных через атрибут url объекта engine:

from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) with app.app_context(): res = db.engine.url print(res)

Результат выполнения кода:

sqlite:///site.db

Смотрите также

  • класс SQLAlchemy,
    который предоставляет доступ к базе данных
  • метод init_app,
    который инициализирует расширение для приложения
  • атрибут session,
    который возвращает объект сессии для работы с моделями
  • атрибут metadata,
    который хранит информацию о таблицах базы данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить