# Flask-SQLAlchemy

Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It simplifies using SQLAlchemy with Flask by setting up common objects and patterns for using those objects, such as a session tied to each web request, models, and engines.

Flask-SQLAlchemy does not change how SQLAlchemy works or is used. See the SQLAlchemy documentation to learn how to work with the ORM in depth. The documentation here will only cover setting up the extension, not how to use SQLAlchemy.

## User Guide

- Quick Start
  - Check the SQLAlchemy Documentation
  - Installation
  - Initialize the Extension
  - Configure the Extension
  - Define Models
  - Create the Tables
  - Query the Data
  - What to Remember
- Configuration
  - Configuration Keys
  - Connection URL Format
  - Default Driver Options
  - Engine Configuration Precedence
  - Timeouts
- Models and Tables
  - Initializing the Base Class
  - Initialize the Extension
  - Defining Models
  - Defining Tables
  - Reflecting Tables
- Modifying and Querying Data
  - Insert, Update, Delete
  - Select
  - Queries for Views
  - Legacy Query Interface
- Paging Query Results
  - Showing the Items
  - Page Selection Widget
- Flask Application Context
  - Automatic Context
  - Manual Context
  - Tests
- Multiple Databases with Binds
  - Configuring Binds
  - Defining Models and Tables with Binds
  - Accessing Metadata and Engines
  - Creating and Dropping Tables
- Recording Query Information
- Tracking Modifications
- Advanced Customization
  - Model Class
  - Abstract Models and Mixins
  - Disabling Table Name Generation
  - Session Class
  - Query Class

## API Reference

- API
  - Extension
  - Model
  - Metaclass mixins (SQLAlchemy 1.x)
  - Session
  - Pagination
  - Query
  - Record Queries
  - Track Modifications

## Additional Information

- BSD-3-Clause License
- Changes
  - Version 3.1.1
  - Version 3.1.0
  - Version 3.0.5
  - Version 3.0.4
  - Version 3.0.3
  - Version 3.0.2
  - Version 3.0.1
  - Version 3.0.0
  - Version 2.5.1
  - Version 2.5.0
  - Version 2.4.4
  - Version 2.4.3
  - Version 2.4.2
  - Version 2.4.1
  - Version 2.4.0
  - Version 2.3.2
  - Version 2.3.1
  - Version 2.3.0
  - Version 2.2
  - Version 2.1
  - Version 2.0
  - Version 1.0
  - Version 0.16
  - Version 0.15
  - Version 0.14
  - Version 0.13
  - Version 0.12
  - Version 0.11
  - Version 0.10
  - Version 0.9
  - Version 0.8
  - Version 0.7