Django 操作原生 MySQL

Django 是一个高效的 Web 应用框架,支持多种数据库,其中 MySQL 是常用的数据库之一。在本文中,我们将通过一些代码示例来展示如何在 Django 中操作原生 MySQL。同时,我们将简要介绍几个重要的步骤。

环境准备

在使用 Django 操作 MySQL 之前,您需要确保以下环境设置正确:

  1. 安装 Django 和 mysqlclient(MySQL 的 Python 连接器):

    pip install django mysqlclient
    
  2. 创建一个新的 Django 项目:

    django-admin startproject myproject
    cd myproject
    
  3. 创建一个新的 Django 应用:

    python manage.py startapp myapp
    

配置 MySQL 数据库

在项目的 settings.py 文件中,您需要配置数据库连接,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',
        'USER': 'your_username',
        'PASSWORD': 'your_password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

确保将 NAMEUSERPASSWORD 替换为您自己的数据库信息。

创建模型

myapp/models.py 文件中,定义一个简单的模型。例如,一个用于存储用户信息的模型:

from django.db import models

class User(models.Model):
    username = models.CharField(max_length=100)
    email = models.EmailField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.username

初始化数据库

运行以下命令以生成数据库表:

python manage.py makemigrations myapp
python manage.py migrate

操作 MySQL 数据

我们可以通过 Django Shell 或编写视图函数来进行数据操作。以下是几个示例:

创建数据

from myapp.models import User

user = User(username='alice', email='alice@example.com')
user.save()

查询数据

users = User.objects.all()
for user in users:
    print(user.username, user.email)

更新数据

user = User.objects.get(username='alice')
user.email = 'alice@newdomain.com'
user.save()

删除数据

user = User.objects.get(username='alice')
user.delete()

流程图

以下是使用 Mermaid 语法表示的操作流程图:

flowchart TD
    A[开始] --> B[配置 MySQL 数据库]
    B --> C[创建模型]
    C --> D[初始化数据库]
    D --> E[操作数据库]
    E --> F{数据操作类型}
    F -->|创建| G[创建数据]
    F -->|查询| H[查询数据]
    F -->|更新| I[更新数据]
    F -->|删除| J[删除数据]
    G --> K[操作结束]
    H --> K
    I --> K
    J --> K

结尾

通过上面的步骤和示例,您可以看到如何在 Django 中操作原生 MySQL。使用 Django 管理 MySQL 数据库使得许多复杂的数据库操作变得简单易懂。掌握这些基础知识后,您将能更好地利用 Django 开发强大而灵活的 Web 应用程序。