Python - Django - ORM 操作表

时间:2022-09-11 13:36:44

ORM 的对应关系:

类        --->    数据库表
对象     --->    数据库行
属性     --->    字段

 

操作数据库表     --->     创建/删除/修改表
操作数据库行     --->     数据的增删改查 

 

首先需要自己手动创建一个数据库

Python - Django - ORM 操作表

在 mysite 的 settings.py 中找到 DATABASES,并进行相应的配置

Python - Django - ORM 操作表

配置结果如下

DATABASES = {
    'default': {
        # 连接的数据库类型
        'ENGINE': 'django.db.backends.mysql',
        # 数据库的地址
        'HOST': '127.0.0.1',
        # 端口
        'PORT': '3306',
        # 数据库名
        'NAME': 'Py_Django',
        # 用户名
        'USER': 'root',
        # 密码
        'PASSWORD': 'root'
    }
}

然后来到 mysite 的 __init__.py 的文件中

Python - Django - ORM 操作表

MySQLdb 是 py2 下的

 

创建表:

创建一个表就是要创建一个类

ORM 相关的要在 app 的 models.py 中进行操作

from django.db import models

# Create your models here.


# 类必须继承 models.Model
class Admin(models.Model):
    # 创建一个主键自增的字段
    id = models.AutoField(primary_key=True)  # AutoField 为自增的字段
    # 创建一个 varchar 类型的不能为空的字段
    # varchar 类型需要指定最大长度
    username = models.CharField(null=False, max_length=20)
    password = models.CharField(null=False, max_length=20)

 然后运行两条命令

python manage.py makemigrations  # 把 models.py 中的改动记录到 app01/migrations 文件夹下
python manage.py migrate  # 把改动翻译成 SQL 语句并执行

执行完后看一下表

Python - Django - ORM 操作表

看一下 app01_admin 的表结构

Python - Django - ORM 操作表

 

删除表:

将 models.py 中写的类注释掉

Python - Django - ORM 操作表

然后执行那两条命令即可

 Python - Django - ORM 操作表

Python - Django - ORM 操作表

show tables 就看不到 admin 表了

Python - Django - ORM 操作表

 

修改表:

在类中进行修改,然后执行上面两条命令就能进行修改