Django提供的模型操作起来数据库非常方便

以自定义模型名字Demo为例:

获取所有数据:all()

demo.objects.all()  #返回queryset对象

#这个语句和Select * from demo还是有一定区别的
demo.objects.all() 是直接获取所有列,速度上比select要快

单个精确查找数据:get()

demo.objects.get(name='qc')

#一般精确找一条数据用get,需要注意的是,如果查找的数据不存在,或者,有多个数据会报异常。

过滤,精确查找:filter()

相对来说,filter的用法就比较多了,排序,精确查找等

例1:条件

demo.objects.filter(name='qc')  #返回的是一个list对象

#相当于sql语句
select * from demo whert name='qc';

例2:多个条件组合

demo.objects.filter(name='qc',id=3)

#相当于sql语句
select * from demo where name='qc' and id =3;

例3:__双下划线

demo.objects.filter(id__lte=) #注意这里两个下划线__lte
相当于sql语句:
select * from demo where id <= 3; demo.objects.filter(name__contains='qc')
相当于sql语句:
select * from demo where name like '%qc%'

例4:排序

demo.objects.order_by("name")
相当于sql语句:
select * from demo order by name; #默认正向排序 也可以降序
demo.objects.order_by("-name") #注意这里有一个减号
相当于sql语句:
select * from demo order by name desc;
#在filter基础上排序
demo.objects.filter(name='qc').order_by('name') 相当于sql语句:
select * from demo where name='qc' order by name asc;

例5:切片数据

demo.objects.order_by('name')[0] #只取第一条数据
相当于sql语句:
select * from demo order by name limit 1; demo.objects.order_by('name')[0:2] #只取2条数据
相当于sql语句:
select * from demo order by name offset 0 limit 2;

django模型(增删改查等)的更多相关文章

  1. 饮冰三年-人工智能-Python-24 Django ORM增删改查

    一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...

  2. django ORM 增删改查 模糊查询 字段类型 及参数等

    ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...

  3. 基于django做增删改查组件,分页器组件

    增删改查组件 一.Djangoadmin的启发 二.基于Djangoadmin实现数据的增删改查 分页器组件 分页器组件的介绍以及源码解读 补充:源码下载,

  4. django数据库增删改查

    django中数据库基本操作: 1.同步数据库 python manage.py makemigrations #生成migrations python manage.py migrate #应用mi ...

  5. python-django使用ORM模型增删改查CRUD

    from weibo.models import WeiboUser as User user_obj = User.objects.get(pk=1) user_obj.pk Out[4]: 1 u ...

  6. django的增删改查

    前置条件: 已有一个model (tbl_user) ,用户表 1.查询 # 查询用户表 username是cx的数据 user_object = tbl_user.objects.filter(us ...

  7. Django之数据表增删改查

    Django数据增删改查: 上课代码 from django.shortcuts import render,HttpResponse # Create your views here. from a ...

  8. python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查

    Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...

  9. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

随机推荐

  1. 二叉苹果树|codevs5565|luoguP2015|树形DP|Elena

    二叉苹果树 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端连接的 ...

  2. [No000017D]改善C#程序的建议6:在线程同步中使用信号量

    所谓线程同步,就是多个线程之间在某个对象上执行等待(也可理解为锁定该对象),直到该对象被解除锁定.C#中对象的类型分为引用类型和值类型.CLR在这两种类型上的等待是不一样的.我们可以简单的理解为在CL ...

  3. seaborn画热力图注意的几点问题

    最近在使用注意力机制实现文本分类,我们需要观察每一个样本中,模型的重心放在哪里了,就是观察到权重最大的token.这时我们需要使用热力图进行可视化. 我这里用到:seaborn seaborn.hea ...

  4. 批量kill java进程方法-引出子shell和反引用

    方法: kill –9 `pgrep java` 使用上述命令可以将服务器上运行的所有java进程一次性kill掉. 扩展:子shell和反应用在shell脚本中的作用 先来看一个子shell的例子: ...

  5. 部署Java项目到阿里云服务器主机

    https://m.aliyun.com/jiaocheng/548684.html https://blog.csdn.net/qq_30865575/article/details/7827329 ...

  6. debian设置软件源为阿里云

    首先编辑sources.list这个文件 sudo vim /etc/apt/sources.list 把sources.list文件内容替换成如下 deb http://mirrors.aliyun ...

  7. c#如何调用另外一个项目的类

    添加引用即可. 参考资料: https://zhidao.baidu.com/question/241402877.html http://blog.csdn.net/a1027/article/de ...

  8. Copycat - MemberShip

    https://github.com/atomix/copycat   http://atomix.io/copycat/docs/membership/   为了便于实现,Copycat把membe ...

  9. 树和二叉树->其他(待完善)

    关于树和二叉树的部分,还有如下三个知识点,待以后时间更充裕的时候再回头完善. 1 树与等价问题 文字描述 关于等价关系和等价类的定义,在离散数学上的描述有点拗口, 其实在数据结构中,这部分相关的主要是 ...

  10. 为单实例数据库配置ASM

    环境配置沿用搭建RAC的环境配置 配置ASM可以在数据库软件安装之前进行,也可以在安装完数据库软件配置数据库前进行 [root@rac01 Packages]# cd /etc/yum.repos.d ...