Django模型层Models的使用步骤

Posted 映辉博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django模型层Models的使用步骤相关的知识,希望对你有一定的参考价值。

1、安装pymysql(这里使用MySQL数据库)

pip install pymysql

  

2、在Django的工程同名子目录的__init__.py文件中添加如下语句

 

from pymysql import install_as_MySQLdb
   
install_as_MySQLdb() # 让pymysql以MySQLDB的运行模式和Django的ORM对接运行

  

3、在settings中配置数据库连接

 

4、注册应用 app

 

5、在models.py中定义模型类(数据表)

例如:

 

6、生成数据库迁移文件   并  执行迁移文件

(1)所谓的迁移文件, 是类似模型类的迁移类,主要是描述了数据表结构的类文件:
python manage.py makemigrations


(2)执行迁移文件,同步到数据库中:
python manage.py migrate


注意:生成的表名默认为:app名_定义的表名,可通过db_table 指明数据库表名。

  

7、补充

如果需要更新表结构,则更新后,再次生成迁移文件并执行迁移文件(Django优点:增量更新)

  

 

django的模型层

django的模型层

 

一 单表操作

 

1.创建模型

技术图片

 

 

app01 models.py 

from django.db import models
# Create your models here.

class Book(models.Model):
     id=models.AutoField(primary_key=True)
     title=models.CharField(max_length=32,unique=True)
     pub_date=models.DateField()
     price=models.DecimalField(max_digits=8,decimal_places=2)
     publish=models.CharField(max_length=32)

 

 

2.配置数据库 

 

settings.py

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,
        NAME:orm,           # 要连接的数据库,连接前需要创建好
        USER:ysl,           # 连接数据库的用户名
        PASSWORD:123456,      # 连接数据库的密码
        HOST:10.0.0.51,       # 连接主机,默认本级
        PORT:3306         #  端口 默认3306
    }
}

 

 

3. 配置mysql模块

因为django默认你导入的驱动是MySQLdb

python3 mysql的驱动是 pymysql
所以在工orm __init__.py 写入

import pymysql
pymysql.install_as_MySQLdb()

 

 

4 打印  orm转换过程中的sql

settings.py 设置

LOGGING = {

    version: 1,
    disable_existing_loggers: False,
    handlers: {
        console:{
            level:DEBUG,
            class:logging.StreamHandler,
        },

    },

    loggers: {
        django.db.backends: {
            handlers: [console],
            propagate: True,
            level:DEBUG,
        },
    }
}  

 

 

5 命令行运行命令

python manage.py makemigrations
python manage.py migrate

 

 

技术图片

 

以上是关于Django模型层Models的使用步骤的主要内容,如果未能解决你的问题,请参考以下文章

django的模型层

django的模型层

Django模型层(models.py)之模型创建

Django模型层:单表多表操作F与Q查询

django 模型层

Django创建模型_模型层