Home  >  Article  >  Backend Development  >  Database integration and ORM practice under the Flask framework

Database integration and ORM practice under the Flask framework

WBOY
WBOYOriginal
2023-09-27 12:01:02618browse

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.

  1. Installing dependencies
    Use the pip command to install the required dependencies:

    pip install Flask SQLAlchemy
  2. 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.

  3. 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.

  1. 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.

  2. Database Migration
    With the development of applications, the database table structure may change. The ORM framework provides database migration tools that can easily modify and update the database structure. In the Flask framework, you can use the Flask-Migrate extension to implement database migration.

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
  1. 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn