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. es6学习日记3

    函数的扩展 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); } ...

  2. linux日常命令之三

    一.换行符 linux换行符为\n,而windows换行符为\r\n. 因此,linux的原生文本文件,换行符为\n,而windows为\r\n:将linux文件拷贝至windows,换行符保持不变, ...

  3. Python全栈之路----常用模块学习----模块的种类和导入方法

    什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码 ...

  4. Burpsuite 1.7.33启动的一点小问题。

    最近用的burp到期了,就想找个新版本的. https://www.52pojie.cn/thread-691448-1-1.html 上面帖子里贴了最新的几个版本的burp,下载以后,问题出现了,无 ...

  5. Python Django orm操作数据库笔记之QuerySet API

    什么时候Django会将QuerySet转换为SQL去执行: 根据Django的数据库机制,对于QuerySet来说,当QuerySet被第一次构建,然后又调用他的filter方法,接着在对其进行切片 ...

  6. Docker概念(二)

    说明:         一直想学Docker,容器.镜像.仓库什么的好难理解就没怎么看了,最近下定决心好好看看,google.Baidu发现这篇好文章,看完差不多有个大概的理解.里面的内容基本上来以下 ...

  7. centos 7.x开放端口

    1. 查看已打开的端口 # netstat -anp 2. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 若此提示 FirewallD is not ...

  8. 【python】变量的赋值、深浅拷贝

    python——赋值与深浅拷贝 https://www.cnblogs.com/Eva-J/p/5534037.html 啥都不说,看这个博主的文章!

  9. autoit3编辑器SCITE字体设置

    选项→打开全局设置文件,就是SciTEGlobal.properties,修改下面的部分即可,保存之后立刻生效.如果不行,就打开用户设置文件SciTEUser.properties进行修改: font ...

  10. CSS之a标签锚点

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...