Django开发基础----操作数据库
Django中对数据库的操作是由Models来完成的

Models是什么?
通常,一个Model对应数据库的一张数据表
Django中Models以类的形式出现
它包含了一些基本字段以及数据的一些行为
所以,在Django中所有对数据库的操作,就是对Models中的类以及类的对象的操作,不需要写任何SQL语句来和数据库进行直接的交互。
编写Models步骤:
1、在应用根目录下创建models.py,并引入models模块
2、创建类,继承models.Model,该类即是一张数据表
3、在类中创建字段
字段创建:
1、数据表里的字段其实就是models.py中类的属性(变量)
例如: name = models.CharField(max_length=100) # 发布会标题
Django中主要的数据类型:

编写完Models,怎么把类同步到数据库,生成数据表呢?
1、命令行中进入manage.py的同级目录
2、执行 python3 manage.py makemigrations app名(sign)(可选,如果不指定应用名,默认是该项目下的所有应用)
3、再执行 python3 manage.py migrate,完成数据迁移
完成数据迁移后,Django会自动在sign/migrations目录下生成移植文件

执行python3 manage.py sqlmigrate 应用名 文件id(0001) 查看SQL语句.
一、使用MySQL数据库:
Django 默认使用自带的sqlite3数据库,对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。
Django 为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。
MySQL 是 Web 应用中最常用的数据库
使用MySQL数据库步骤:
1、如果使用的 Python2.x 版本,那么连接 MySQL 数据库可以使用 MySQL-python。 但是,MySQL-python 只支持 Python2.x 版本,并在 2014 年 1 月之后就不再更新了,但这并不影响对该库的使 用。目前 Django 默认使用的是该驱动。如果使用的是 Python3.x 版本的 Django,所以这里推荐使用 PyMySQL 驱动。
命令:python3 -m pip install PyMySQL
因为 Django 在连接 MySQL 数据库时默认使用的是 MySQLdb 驱动,我们现在安装的是 PyMySQL 驱动,如何让 Django 通过 PyMySQL 来 连接 MySQL 数据库呢?在.../guest/__init__.py 目录下添加:
import pymysql
pymysql.install_as_MySQLdb()
2、setting.py文件中配置MySQL数据库

注意:切换了数据库后,之前 Sqlite3 数据库里的数据并不能复制到 MySQL 中,所以需要重新进行数据库同步,使数据模型重新在 MySQL 数据库中生成表。
执行 python3 manage.py migrate
二、视图层Views进行数据库的增、删、改、查
在原项目中再新建一个应用contral,记得在settings中添加此应用
1、创建model表


并添加数据

5、编写views

6.html代码

7、成功获取数据

增加数据

删除数据

改数据

Django开发基础----操作数据库的更多相关文章
- HelloDjango 系列教程:第 04 篇:Django 迁移、操作数据库
文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们已经编写了博客数据库模型的代码,但那还只是 Python 代码而已,django 还没有把它翻译成数据库语言,因此实际上这 ...
- Django的基础操作总结
1:准备开始 建立一个新的project: django-admin.py startproject XXXXXX(名称) 建立一个新的App:python manage.py startapp XX ...
- Django开发笔记之数据库的设计
后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...
- Django开发基础----创建项目/应用
环境: 1.python 3.6.2 2.安装django:pip install django==1.10.3 *下面以开发一个简单的用户签到系统介绍Django的使用 创建Django项目: 命 ...
- python测试开发django-13.操作数据库(增删改查)
前言 django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢? 本篇详细讲解django操作mysql数 ...
- MySql数据库基础操作——数据库、用户的创建,表的制作、修改等
MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
SQLite 是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...
- [置顶] Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
SQLite 是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...
- Django Model基础操作
关于设计django model django为我们集成了ORM对数据库进行操作,我们只需要进行定义model,django就会自动为我们创建表,以及表之间的关联关系 创建好一个django项目-首先 ...
随机推荐
- Request和Response
1 简介 web服务器收到客户端的http请求,会针对每一个请求,分别创建一个用于代表请求的request对象和代表响应的response对象. request和response对象既然代表请求和响应 ...
- 面向对象_06【抽象类:abstract、接口:interface、实现:implements】
抽象类:abstract抽象:没有足够的描述功能,事物不具体的描述,却又有共性. 特点: 1,方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中,该类也 ...
- java对象引用-要掌握的细节2
目的:加深对java引用变量的理解,避免数据的处理的偏差. 问题: 1.一个集合List ,将新建Student对象stu放入List之后,再给stu的成员变量例如id,name赋值.此时List中的 ...
- 正则匹配url中的query参数信息
var url = 'name=xiaoming&age=10&school=xinhua'; var reg = /([^&=]+)=?([^&]*)/g;
- 小白学Docker之Swarm
承接上篇文章:小白学Docker之Compose,自学网站来源于https://docs.docker.com/get-started 系列文章: 小白学Docker之基础篇 小白学Docker之Co ...
- Go笔记-继承
[Go中继承的实现] 当一个匿名类型被内嵌在结构体中时,匿名类型的可见方法也同样被内嵌,这在效果上等同于外层类型 继承 了这些方法:将父类型放在子类型中来实现亚型 package main i ...
- dos2unix和unix2dos
dos2unix将windows格式的文件转换为linux格式的文件. unix2dos将linux格式的文件转换为windows格式的文件. dos2unix和unix2dos会转换windows和 ...
- 代理(Proxy)模式
代理模式的类图如下所示: 客户端想调用的是RealSubject,由于某种考虑或原因,只能直接访问到ProxySubject,再由ProxySubject去调用RealSubject,这就完成了一次代 ...
- Go基础之--接口
定义 在Go语言中,一个类只要实现了接口要求的所有函数,我们就说这个类实现了该接口 interface类型可以定义一组方法,用来表示一个对象的行为特征,interface不能包含任何变量,接口是引用类 ...
- 前端系列之JavaScript基础知识概述
微信公众号:compassblog 欢迎关注,欢迎转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.什么是JavaScript (1).JavaScript是web上一种功能强大的编程语 ...