Database integration and ORM practice under the Flask framework

WBOY
Release: 2023-09-27 12:01:02
Original
592 people have browsed it

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
    Copy after login
  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'
    Copy after login

    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
    Copy after login

    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
    Copy after login

    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
Copy after login

Use the following command to initialize database migration:

flask db init
Copy after login

Then, generate the migration script:

flask db migrate -m "initial migration"
Copy after login

Finally, perform database migration:

flask db upgrade
Copy after login
  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()
    Copy after login

    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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!