Home > Article > Backend Development > Database integration and ORM practice under the Flask framework
Database integration and ORM practice under the Flask framework
Abstract:
Flask is a lightweight Python Web framework that provides simple and easy-to-use Routing, view functions, templates and other functions, but in actual applications, most applications need to interact with the database to store and read data. This article will introduce how to integrate a database under the Flask framework and use the ORM framework to simplify database operations.
1. Flask database integration
In the Flask framework, you can use a variety of databases to store data, common ones include SQLite, MySQL, PostgreSQL, etc. Before integrating the database, you need to install the corresponding database driver. Flask-SQLAlchemy is recommended as an ORM framework because it is easy to use and powerful.
Installing dependencies
Use the pip command to install the required dependencies:
pip install Flask SQLAlchemy
Configuring the database
Can be used in Flask applications Configuration file or configure database connection parameters directly in code. For example, configuring the connection parameters of the SQLite database can be as follows:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db'
Here the database file name is set to "your_database.db", which can also be modified according to needs.
Initialize the database
When the Flask application is initialized, the database needs to be initialized. You can add the following code to the application's factory function:
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() def create_app(): app = Flask(__name__) # ... db.init_app(app) # ... return app
Here db.init_app(app) is used to initialize the database.
2. Use the ORM framework for database operations
ORM (Object Relational Mapping) is a mapping between the table structure of the relational database and objects, allowing development Readers can operate the database in an object-oriented manner. Flask-SQLAlchemy is an extension of Flask that can be used in conjunction with SQLAlchemy to implement ORM functions.
Define the model
In a Flask application, when using the ORM framework, you need to define a model (Model) to map the database table. The model class defines each field and field attributes, and maps between classes and tables. For example, define a User model:
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True) email = db.Column(db.String(120), unique=True) def __init__(self, name, email): self.name = name self.email = email
In the model class, each field is an instance of db.Column, and the type and attributes of the field can be defined. In this example, three fields, id, name and email, are defined, with id being the primary key.
First install the Flask-Migrate dependency:
pip install Flask-Migrate
Use the following command to initialize database migration:
flask db init
Then, generate the migration script:
flask db migrate -m "initial migration"
Finally, perform database migration:
flask db upgrade
Database operation
It is very simple to use the ORM framework to perform database operations. Operations such as addition, deletion, modification, and query can be implemented through model class methods. The following are some commonly used database operation sample codes:
# 查询所有用户 users = User.query.all() # 根据条件查询用户 user = User.query.filter_by(name='username').first() # 添加用户 new_user = User('username', 'email@example.com') db.session.add(new_user) db.session.commit() # 更新用户 user.name = 'new_username' db.session.commit() # 删除用户 db.session.delete(user) db.session.commit()
Database operations can be performed by calling the query object of the model class and changing the session.
Conclusion:
This article introduces how to integrate the database under the Flask framework and use the ORM framework for database operations. Through the Flask-SQLAlchemy extension, you can easily define models, perform database migration and perform database operations. In practical applications, different database types can be selected according to needs, and reasonable designs can be carried out according to the needs of the model.
Note:
The above examples are for reference only and need to be modified and expanded according to specific project requirements for actual use.
The above is the detailed content of Database integration and ORM practice under the Flask framework. For more information, please follow other related articles on the PHP Chinese website!