Django模型基础

知识点:

  1. 数据库的配置

  2. 使用django中的模型

  3. 将模型映射到数据库

  4. 数据的增删改查基本操作

数据库的配置

1.在settings.py中配置DATABASES

DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql', # 数据库引擎
       'NAME': 'mydb', #数据库名称
       'USER': 'admin', # 链接数据库的用户名
       'PASSWORD': 'Root110qwe', # 链接数据库的密码
       'HOST': '127.0.0.1', # mysql服务器的域名和ip地址
       'PORT': '3306', # mysql的一个端口号,默认是3306
  }
}

2.安装数据库连接器,在python3的虚拟环境中安装pymysql连接器。

pip install pymysql

3.在主目录下的的__init__.py文件添加下面两句:

import pymysql
pymysql.install_as_MySQLdb()

使用django中的模型

# blog/models.py
from django.db import models
# Create your models here.

class User(models.Model):
   id = models.AutoField(primary_key=True)
   name = models.CharField(max_length=30)
   age = models.IntegerField()
   
   def __str__(self):
       return 'User<id=%s,name=%s,age=%s>'%(
           self.id,self.name,self.age)
  1. 模型必须都写在app下的models.py文件中。

  2. 模型如果需要映射到数据库,所在的app必须被安装.

  3. 一个数据表对应一个模型类,表中的字段,对应模型中的类属性.

  4. 映射模型到数据库之前,要提前把数据库给创建好.

将模型映射到数据库中

1.首先要创建一个映射文件,通过执行以下命令创建:

python manage.py makemigrations

2.将映射文件中的映射数据真正提交到数据库中,执行以下命令:

python manage.py migrate 

数据的增删改查

增加数据
# blog/views.py
from .models import User
def add_user(request):
   # 方法一:
   # tizi = User(name='tizi',age=18)
   # tizi.save()
   # 方法二:
   # xm = User()
   # xm.name = 'xiaoming'
   # xm.age = 19
   # xm.save()
   # 方法三:
   # User.objects.create(name='xiaohong',age=20,)
   # 方法四:
   User.objects.get_or_create(name='xiaohua',age=21)
   return HttpResponse('插入数据成功!!!')
查找数据
# blog/views.py
def search_user(request):
   # 查询所有记录对象
   # rs = User.objects.all()
   # 查询一个记录对象
   # rs = User.objects.get(id=1)
   # 获取满足条件的对象
   rs = User.objects.filter(name='xiaoming')
   print(rs)
   return HttpResponse('查询数据成功!!!')

更新数据

# blog/views.py
def update_user(request):
   # rs = User.objects.get(name='xiaoming')
   # rs.name = 'Xiaoming'
   # rs.save()
   # User.objects.filter(name='Xiaoming').update(name='XM')
   User.objects.all().update(country='changsha')
   return HttpResponse('更新数据成功!!!')

# 这里的country是在模型中新增的一个字段
删除数据
# blog/views.py
def delete_user(request):
   User.objects.get(id=1).delete()
   return HttpResponse('删除数据成功!!!')

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

测试案例:

1,在主文件settings.py中配置DATABASES

2,使用DJango中的模型:

3,在windows里面安装Msql数据库。然后将模型映射到数据库中:

4,查看数据库的表:

DJango 基础(6)的更多相关文章

  1. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  2. Django 基础教程

    Django 基础教程 这是第一篇 Django 简介 »  Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...

  3. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  4. Python学习(二十六)—— Django基础一

    转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...

  5. Django基础(一)

    Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...

  6. python3之Django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  7. DJango 基础 (1)

    django基础 知识点: 基本认知 工具准备 新建项目 目录及文件说明 开发服务器 创建视图函数 新建应用(app) 1.基本认知 Django是用Python开发的一个免费开源的Web框架,可以用 ...

  8. Django基础和基本使用

    Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...

  9. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  10. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

随机推荐

  1. nodeJS网络操作

    var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, ...

  2. 15.python并发编程(线程--进程--协程)

    一.进程:1.定义:进程最小的资源单位,本质就是一个程序在一个数据集上的一次动态执行(运行)的过程2.组成:进程一般由程序,数据集,进程控制三部分组成:(1)程序:用来描述进程要完成哪些功能以及如何完 ...

  3. 机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

    机器学习算法中如何选取超参数:学习速率.正则项系数.minibatch size 本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器 ...

  4. because there was insufficient free space available after evicting expired cache entries

    Tomcat运行的时候哗哗哗的报警告 版本是Tomcat 8.5.15 告警信息关键字如下 because there was insufficient free space available af ...

  5. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  6. PPTV(pplive)_forap_1084_9993.exe 木马清除经历

    ## 流氓行经 这几天电脑上突然自动安装pptv,金山毒霸清除了也不管用, 卸载了pptv过一会又自动安装上了,太嚣张了哈. ## 监控进程跟目录变化 接下来使用 ProcessMonitor 监控进 ...

  7. lavarel 中间件

    创建中间件 php artisan make:policy UserPolicy 所有生成的授权策略文件都会被放置在 app/Policies 文件夹下. 让我们为默认生成的用户授权策略添加 upda ...

  8. 常用JVM命令

    查看当前所有jvm进程 ./jps -l -m ./jps -l -m -v 查看jvm进程内存堆使用情况 ./jstat -gc $pid 生成java虚拟机当前时刻的线程快照 jstack -l ...

  9. POJ3259 Wormholes

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  10. weex Mac创建项目

    序言:本来在win 10 上创建项目真的很顺利!后来入手一个mac就从mac 上下载了最新的android studio开始搞起了weex,问题来了,weex-toolkit脚手架还是老的,我觉得是w ...