1.ORM框架

在数据库的使用过程中,我们可以使用SQL语句操作数据库,但是可能会存在SQL语句较多,会影响到开发的速度。使用ORM框架可以让我们通过对对象和类的操作实现对数据库的操作,而不使用SQL语句。本质上,ORM框架会帮我们自动的转换为SQL 语句,然后对数据库进行操作。
Django框架内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
使用django进行数据库开发的步骤如下:
1.在models.py中定义模型类
2.迁移
3.通过类和对象完成数据增删改查操作

2.创建数据库表

1.选择需要使用的数据库
Django默认使用sqlite3,可以更改为使用MySQL
具体步骤为:
对<DjangoProject>/Settings.py文件下的DATABASES = {}进行修改,修改为以下内容

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',  # 修改为MySQL'NAME':'djtest',                       # 数据库名字'USER':'root',                         # 用户名'PASSWORD':'*********',                # 用户的MySQL登录密码'HOST':'localhost',                    # 数据库所在主机的IP地址'PORT':'3306',                         # 端口号,一般默认为3306}
}

2.新建一个应用
Django中每一个应用实现一个功能,在控制台输入以下语句

python manage.py startapp firstApp

语句规则为:python manage.py startapp <appname>
同时,应该将创建的应用注册到Django中,
在<DjangoProject>/settings.py文件下的INSTALLED_APPS = [ ] 语句末尾加上刚刚创建的<AppName>

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','firstApp',
]

3.创建数据表,即模型类
在 <appname> /models.py 文件下编写模型类
以下为示例代码:

from django.db import models# Create your models here.'''
定义一个模型类,Book类
'''
class Book(models.Model):name = models.CharField(max_length=5)writer = models.CharField(max_length=15)

定义属性的语法为:
属性名 = models.字段类型(选项)
具体的关于模型类的定义会在以下博客进行说明
字段类型及选型详解
由于修改了使用的数据库为MySQL,所以要在当前环境中导入第三方库pymysql

pip install pymysql

安装成功之后,在<DjangoProject>/init.py文件中加上如下代码:

import pymysql
pymysql.install_as_MySQLdb()

4.生成迁移文件
在控制台输入以下代码:

python manage.py makemigrations
python manage.py migrate

5.通过MySQL控制台查看生成的内容

show databases
use djtest
show tables

可以看到,djtest数据库中存在很多个表,其中<AppName>_<ClassName>,即为刚才创建的表。可以通过

desc firstapp_book

查看表结构

可以看到,Django为我们自动生成了一列,id,在创建表的时候id就会作为对应表的主键列,并且主键列自动增长

6.在刚刚创建的数据表操作数据

在控制台输入以下指令进入shell命令行

python manage.py shell

给数据表传入一个值

from firstApp.models import Book
Book.objects.all()                # 查询数据表的全部数据,因为当前未导入数据因此返回值为空列表
b = Book()                        # 创建实例对象
# 设置对象的值
b.name = "射雕英雄传"
b.writer = "金庸"
# 保存数据
b.save()

获取指定的某一个数据

# 获取数据表中的数据
book = Book.objects.get(id = "1")
book.name
book.writer

查询结果

修改某一条数据(以上一条查询的数据为例)

book.name = "连城诀"     # 修改书名为连城诀
book.save()              # 保存修改

删除某一条数据

book.delete()

MVT 之 M——模型相关推荐

  1. Django基础概念和MVT架构(一)

    1.1Django简介 Django简介 Django : 发音为 [ `dʒæŋɡəʊ ]. 名称来源于比利时爵士音乐家 Django Reinhardt Python 语言写的开源web开发框架, ...

  2. 【Django 学习笔记】1、基础概念和MVT架构

    0x00 Django 简介 Django是Python写的开源Web开发框架,主要目的是做一个简便.快速的开发数据库驱动的网站 Django遵循MVC设计模式,在Django中有个专有名词,叫做MV ...

  3. 框架 路由地址_Django框架的使用

    Django框架的使用 一,创建基本项目 创建项目 # web是项目名称或者称为项目目录django-admin startproject web​# 会在执行命令的当前目录中 创建 web项目目录w ...

  4. [Django青铜修炼手册] 初识Django

    Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T.在学 ...

  5. Django 学习笔记第一课

    Django web 框架介绍: MVC框架的核心思想 核心思想:解耦: 好处:可扩展性,向后兼容,低耦合,高内聚: 普通web结构框架MVC框架 M:model 主要用于数据库层次的封装: V:vi ...

  6. Django笔记01-基础:一个完美主义的web框架

    浅谈Web框架 一,什么是框架? 软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品, 框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系 通常情况下我们依据框架来实现更为复杂 ...

  7. 浅谈web开发以及django的安装和入门

    浅谈web开发 1.B/S和C/S结构 B/S:浏览器与服务器进行的交互模式(不需要官方下载的,一夫多妻制) C/S:客户机与服务器进项的交互模式(必须官方下载的,一夫一妻制 2.MVC和MVT MV ...

  8. Django的简单介绍及虚拟环境的搭建、创建项目,数据库(Windows版超级详细)--Python web应用程序开发(Python实战)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 Djangg ...

  9. pythondjangoddos_django带服务器

    被解放的姜戈08 远走高飞 作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. 之前在单机上实现了一个Django服务器(被解放的姜戈07 马不停蹄) ...

最新文章

  1. AngularJs学习笔记--Forms
  2. ElasticSearch小操之Marvel,Sense
  3. python 调用 tensorflow,C++与python 相互调用-- c++调用tensorflow教程
  4. Spring Bean的装配(非XML文件方式)
  5. 前后端分离WebStorm自动部署到tomcat服务器
  6. 数据库---练习题(45道)
  7. graphpad数据小数点_GraphPad Prism 统计指南 | 关于异常值(Outlier),你真的了解吗?...
  8. TX2系统备份与恢复
  9. 酷派android升级失败,酷派大神X7刷机失败变砖开不了机 救砖教程
  10. duet设置_Duet Display 使用体验 - iPad 变身扩展屏幕
  11. this的五种绑定方式
  12. freeswitch mrcp 源码分析--数据接收(上)
  13. 一种即时通信数据传输方法、客户端、服务器及系统
  14. MySQL权限授权认证详解
  15. Ae:形状图层的内容添加
  16. 6步教你封杀恶意登录服务器的ip
  17. openstack之Horizon
  18. 铅酸电池充放电保护电路图
  19. 串口数据实时处理:定时器+串口 判断串口数据接收完成
  20. c语言奇数放左边偶数放右边,放在

热门文章

  1. Windows 7 插入耳机后没声音,拔下后扬声器有声音
  2. Parallels Desktop 16 网络初始化失败
  3. 分布式事务解决方案汇总:2PC、3PC、消息中间件、TCC、状态机+重试+幂等(转)
  4. hbuilder发生了错误请参阅日志文件1545838571032
  5. Artifact “xxx - xxxx“:war exploded:部署工件时出错。请参阅服务器日志了解详细信息
  6. 【C++学习笔记】函数基础和参数传递
  7. msp430流水灯c语言程序,基于MSP-EXP430F5529开发板流水灯程序
  8. 用Android手机远程桌面连接登陆Windows10(用微软账号登陆),Microsoft账户登陆的计算机远程桌面连接问题
  9. 苹果手机如何关闭自动续费_手机APP会员自动续费怎么办?教你一招快速关闭!...
  10. APISpace 人像比对API