django连接ORM

摘要:
③.CharField字符类型,必须提供max_length参数,max_length表示字符长度。④.DateField日期字段,日期格式YYYY-MM-DD,相当于Python中的datetime.date()实例。

一. 程序连接mysql

1. 导入pymysql模块

2. 创建连接

3. 获取执行命令的游标

4. 使用游标去执行sql语句

5. 获取sql语句的执行结果

6. 关闭游标

7. 关闭连接

二. ORM介绍

1. 概念

①. 对象关系映射(Object Relational Mapping)模式是一种为了解决面向对象与关系数据库存在的互相不匹配的现象技术.

②. 简单说,ORM在业务逻辑层和数据库之间充当了桥梁的作用

③.ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

2. 优势

①. ORM解决的主要问题是对象和关系的映射,通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每一个属性对应表中的每个字段.

②. ORM提供了对数据库的映射,不用直接编写sql代码,只需像操作对象一样从数据库操作数据.

③. 提高开发效率.

3. 劣势

①. 会在一定程度上牺牲程序的执行效率

三. django项目使用mysql数据库

※ : 流程 :

在cmd中创建一个数据库,之后在pycharm中使用pymysql模块来对数据库操作,在pycharm中创建一个类,类名就是在cmd创建的数据库名,此类必须继承models.Model类,这个类中的每一个属性就相当于数据库中的每一个字段,每一个对象就相当于数据库中的每一行数据.

1. 在cmd中手动创建一个数据库

create database 数据库名;

2. 在django项目中的settings.py文件中,配置数据库连接信息 : 

DATABASES ={
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "你的数据库名称",  # 需要自己手动创建数据库
        "USER": "数据库用户名",
        "PASSWORD": "数据库密码",
        "HOST": "数据库IP",
        "POST": 3306}
}

3. 在django项目中和settings.py同级的__init__.py文件中写如下代码,告诉django使用pymysql模块连接mysql数据库 :django连接ORM第1张

import pymysql

pymysql.install_as_MySQLdb()

4. 在app/models.py文件中创建类(必须继承models.Model类)

5. 建好类之后并不代表就创建出来,需要命令通知django app/models.py文件里面的变更,并需要另外的命令将变更记录去翻译成sql语句去数据库执行.

①. python manage.py makemigrations  记录变更   django连接ORM第2张

②. python manage.py migrate  翻译记录

这个时候去cmd查看数据库中的表

django连接ORM第3张

四. django ORM常用字段和参数

1. 字段

①. AutoField  

int自增列,必须填入参数primary_key=True. 当model中没有自增列时,会自动创建一个列名为id的列.

②. IntegerField

一个整数类型,范围在 -2147483648 to 2147483647。

③. CharField

字符类型,必须提供max_length参数, max_length表示字符长度。

④. DateField

日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。

⑤. DateTimeField

日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。

免责声明:文章转载自《django连接ORM》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于PHP自动捕捉处理错误和异常的尝试《Java从入门到放弃》入门篇:hibernate基本配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP-mysql存储照片的两种方式

PHP-mysql存储照片的两种方式 方式一:把图片数据存储在数据库中(二进制) 数据库代码: CREATE TABLE `photo` ( `id` int(10) unsigned NOT NULL auto_increment, `type` varchar(100) NOT NULL, `binarydata` mediumblob NOT NUL...

64/32位oracle客户端安装配置详细教程

如何连接远程oracle数据库? 之前的文章我们讲过linux程序员第一天需要配置scrt工具和ue工具,如果公司使用数据库产品的话,我们还需要了解如何去连接远程数据,接下来我们来介绍如何连接远程服务器上的oracle数据,以linux主机上的数据库为例. 首先来了解一下连接数据库具备的条件: 远程主机有oracle,并且已经启动. 本机装有oracle...

数据库正常运行,突然变慢的解决思路

  分类: Oracle 数据库正常运行,突然变慢的解决思路: 1、查看数据库版本(select * from v$version) 2、查看操作系统的进程(top,ps -ef) 3、查看操作系统的IO情况(sar 1 10) 4、制作awr报表,查看报告 在报告中 : Event Waits %Time -outs Total W...

Django中的监控组件Prometheus

Prometheus和Django项目增加prometheus与grafana 1.什么是Prometheus? prom存储的是一个时序数据,即按照相同时序(相同名称和标签),时间维度存储连续数据的集合; 时序是有名字(metrics)以及一组的key/value标签定义的,具有相同名字以及标签属于相同时序。 prom的特点: 多维度的数据模型 灵...

使用pycharm创建django项目

一. 安装好Python环境,步骤参照另一个博客: Windows环境selenium+Python环境配置; 二. 安装好virtualenv虚拟环境: 1.安装:命令行到python目录,运行:pip3 install virtualenv;--安装       pip3 install virtualenvwrapper # 这是对virtualen...

Redis----windows下的常用命令二

Redis 是一个开源,高级的键值对的存储。它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets(无序集合) 和 sorted sets(有序集合).启动redis服务:redis-server.exe redis.windows.conf启用客户端:redis-cli.exe双击 redis-cli.e...