Python - Django - ORM 操做表

ORM 的对应关系:

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

 

操做数据库表     --->     建立/删除/修改表
操做数据库行     --->     数据的增删改查 mysql

 

首先须要本身手动建立一个数据库sql

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

配置结果以下django

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

而后来到 mysite 的 __init__.py 的文件中app

MySQLdb 是 py2 下的翻译

 

建立表:

建立一个表就是要建立一个类对象

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

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 语句并执行

执行完后看一下表

看一下 app01_admin 的表结构

 

删除表:

将 models.py 中写的类注释掉

而后执行那两条命令便可

 

show tables 就看不到 admin 表了

 

修改表:

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

相关文章
相关标签/搜索