Flask-SQLAlchemy — это библиотека, которая предоставляет удобный способ работы с базами данных во фреймворке Flask. Она предоставляет объектно-реляционную маппер (ORM), который позволяет вам работать с базой данных, используя объектно-ориентированный подход.
Для начала работы с Flask-SQLAlchemy вам потребуется установить его. Для этого выполните следующую команду:
pip install flask-sqlalchemy
После установки вы можете начать использовать Flask-SQLAlchemy в своем приложении Flask. Вот пример того, как это можно сделать:
from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) @app.route('/') def index(): users = User.query.all() return 'Total users: {}'.format(len(users)) if __name__ == '__main__': app.run()
В этом примере мы создаем экземпляр объекта Flask и передаем его в SQLAlchemy, указывая путь к базе данных SQLite. Затем мы создаем модель `User`, которая будет представлять таблицу в базе данных. Модель определяет столбцы и их типы данных.
В нашем маршруте `/` мы выполняем запрос к базе данных, используя метод `query.all()`, который возвращает все записи из таблицы `User`. Затем мы отображаем количество пользователей на странице.
Вы можете добавить, редактировать и удалять записи из базы данных, используя методы SQLAlchemy. Вот несколько примеров:
# Добавление пользователя user = User(username='john') db.session.add(user) db.session.commit() # Редактирование пользователя user = User.query.filter_by(username='john').first() user.username = 'jane' db.session.commit() # Удаление пользователя user = User.query.filter_by(username='jane').first() db.session.delete(user) db.session.commit()
Вы также можете выполнять сложные запросы к базе данных, используя методы SQLAlchemy. Например, вы можете выполнить следующий запрос, чтобы получить всех пользователей, имена которых начинаются на «j»:
users = User.query.filter(User.username.like('j%')).all()
Это только небольшой обзор возможностей Flask-SQLAlchemy. Вы можете изучить документацию библиотеки для получения более подробной информации и примеров использования. Использование Flask-SQLAlchemy позволяет упростить работу с базами данных во фреймворке Flask и повысить производительность вашего приложения.