Django学习笔记009-django models进行数据库增删查改
引入models的定义
from app.models import myclass
class myclass():
aa = models. CharField (max_length=None)
bb = models. CharField (max_length=None)
def __unicode__(self):
return u'%s %s' %(aa,bb)
增
添加一行数据1
add = myclass(aa='wahaha',bb='hahawa' )
add.save() #不save无法保存到数据库
add.id #获取增加的这条数据的ID
添加一行数据2
myclass.objects.create(aa='wahaha',bb='hahawa') # 同上1方法一样无需保存save
删
删除表中全部数据
myclass.objects.all().delete()
删除一条aa等于'test'的数据
myclass.objects.get(aa='test').delete()
删除多条数据
myclass.objects.filter(aa='123').delete() #过滤出aa字段等于123的都删除
查
查出库中所有条数的数据
myclass.objects.all()
查询带字段名的所有条数数据
myclass.objects.all().values()
查询单挑数据
myclass.objects.get(aa='123') #查询aa字段中是123的这条数据,如果是多条和没有的时候会报错,尽量结合try:except使用
查询匹配条件的多条数据
myclass.objects.filter(aa='123') #查询aa字段值为123的所有数据条数,括号的匹配条件可多个,以逗号分隔
模糊查询
myclass.objects .filter(aa__contains="1") #查询aa字段中值包含'1'的数据,例如aa字段值为 123 154 这两条都能匹配
根据字段内容排序后展示数据
myclass.objects.order_by('aa') #根据aa字段的内容进行数据排序,会根据字母和数字排序
根据字段内容逆向排序后展示数据,加一个负号
myclass.objects .order_by('-aa' ) #根据aa字段的内容进行逆向数据排序,会根据字母和数字排序
连锁查询,先过滤,过滤后进行逆向排序
myclass.objects.filter(aa='123') .order_by("‐aa")
限制数据条数,相当于mysql limit
myclass.objects.filter(aa='123')[0] #[0]显示第一条 [0:2]会显示前两条
myclass.objects.filter(aa='123').order_by("‐aa")[0] #切片不支持负数,这样就数据序列倒过来的第一条,也就是最后一条数据
改
更新数据
a = userinfo.objects.get(cellPhone='13133333333') #查询一条你要更新的数据
a.cellPhone='3111111111111' #赋值给你要更新的字段
a.save() #保存
更新多个字段或一个字段
myclass.objects .get(aa='123').update(aa='321',bb="wahaha") #update可多条
更新所有字段
myclass.objects.all().update(aa='8888') #更新所有字段,更新后会显示受影响的条数
Django学习笔记009-django models进行数据库增删查改的更多相关文章
- django models进行数据库增删查改
在cmd 上运行 python manage.py shell 引入models的定义 from app.models import myclass ##先打这一行 ------这些是 ...
- Django学习笔记之Django ORM相关操作
一般操作 详细请参考官方文档 必知必会13条 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> ...
- Django学习笔记之Django中间件
准备 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰 ...
- Django学习笔记之Django Form表单
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...
- Django 学习笔记之五 Django中数据库中ManyToManyField及ForeignKey
1.model里面的代码: from __future__ import unicode_literalsimport django.utils.timezone as timezonefrom dj ...
- Django学习笔记-修改Django的默认的数据库
1.修改设置settings中的配置 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os ...
- Django学习笔记之Django QuerySet的方法
一般情况下,我们在写Django项目需要操作QuerySet时一些常用的方法已经满足我们日常大多数需求,比如get.filter.exclude.delete神马的感觉就已经无所不能了,但随着项目但业 ...
- Django学习笔记之Django Form表单详解
知识预览 构建一个表单 在Django 中构建一个表单 Django Form 类详解 使用表单模板 回到顶部 构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的 ...
- Django学习笔记之Django ORM Aggregation聚合详解
在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序.Djngo聚合就能满足这些要求. 以下面的Mode ...
随机推荐
- 剑指Offer(二十七):字符串的排列
剑指Offer(二十七):字符串的排列 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baid ...
- win10 水晶报表安装包
windows 10 64 VS2013安装 CR For VS 13_0_18 安装过程没有报错 安装成功http://downloads.businessobjects.com/akdlm/cr4 ...
- Z+F激光扫描仪
链接:https://zhuanlan.zhihu.com/p/48589754 三维扫描仪有三个误差来源: ● 线性误差(激光雷达部分/LARA) ● 测距噪声(激光雷达部分/LARA) ● 测角误 ...
- [2019南昌邀请赛网络赛D][dp]
https://nanti.jisuanke.com/t/38223 Xiao Ming recently indulges in match stick game and he thinks he ...
- ORACLE数据库误操作执行了DELETE,该如何恢复数据?
ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...
- MongoDB 3.2变动一览
3.2测试版本总算release了!E叔带大家来一览MongoDB 3.2版本的真容. (PS:内容比较多,在此仅针对个人认为比较重要的进行讲解,markdown写的,貌似WP的markdown插件有 ...
- Greenplum 函数 gp_dist_random
转载自:https://yq.aliyun.com/articles/7593 函数作用: gp_dist_random('gp_id')本质上就是在所有节点查询gp_id, gp_dist_rand ...
- pyzabbix
pyzabbix
- jQuery相关方法4-----元素创建和移除
一.创建添加元素 父元素.append(子元素)-----被动追加创建 子元素.appendTo(父元素)-----主动追加创建 <script src="http://libs.ba ...
- java封装返回结果应用 利用反射机制 返回结果以及错误信息
//此方法是自己琢磨的,可能有漏洞--符合我的系统目前的需求,大家可以借鉴public ResponseMessage exec (String funname, Object[] params,Ob ...