1.    什么是orm?

object  relation mapping  对象关系映射

一旦确定表关系为一对多:在多的表中添加关联字段。

一对一:可以在任意一张表添加关联字段。

多对多:创建第三张表,主键id,两个关联字段,关联另外两张表的主键。

添加记录:

  1. # 方式1:
  2. #obj=Book.objects.create(title="python",publishDate="2012-12-12",price=100)
  3.  
  4. 注意:Book.objects.create()的返回值是当前添加的记录对象
  5. # 方式2:
  6. book_obj=Book(title="python2",publishDate="2012-12-12",price=100)
  7. book_obj.save()

  查询记录:

  1. <1> all(): 查询所有结果(queryset)
  2. <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象(queryset)
  3. <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,
  4. 如果符合筛选条件的对象超过一个或者没有都会抛出错误。 (model对象)
  5. <5> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
  6.  
  7. <4> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
  8. model的实例化对象,而是一个可迭代的字典序列
  9. <9> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
  10.  
  11. <6> order_by(*field): 对查询结果排序
  12.  
  13. <7> reverse(): 对查询结果反向排序
  14.  
  15. <8> distinct(): 从返回结果中剔除重复纪录
  16.  
  17. <10> count(): 返回数据库中匹配查询(QuerySet)的对象数量。
  18.  
  19. <11> first(): 返回第一条记录
  20.  
  21. <12> last(): 返回最后一条记录
  22.  
  23. <13> exists(): 如果QuerySet包含数据,就返回True,否则返回False

  

              双下划线的查询:

              book_list=Book.objects.filter(price__gt=60)
              book_list=Book.objects.filter(price__lt=60)
              book_list=Book.objects.filter(title__contains="py")
              book_list=Book.objects.filter(title__startswith="python")
              book_list=Book.objects.filter(price__in=[60,70,100])
              book_list=Book.objects.filter(price__range=[50,99])

  

删除记录,更新记录

  1. 删除:
  2. Book.objects.filter().delete() # 默认级联删除
  3.  
  4. 更新:
  5. Book.objects.filter().update(price=50,.....)

  

2.      跨表操作:

Python3学习笔记之十九的更多相关文章

  1. 【转】 Pro Android学习笔记(十九):用户界面和控制(7):ListView

    目录(?)[-] 点击List的item触发 添加其他控件以及获取item数据 ListView控件以垂直布局方式显示子view.系统的android.app.ListActivity已经实现了一个只 ...

  2. Android学习笔记(十九)——内容提供器

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整 ...

  3. Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示

    CRM的项目,审批流是一个必须品.为了更方便灵活地使用.配置审批流,我们自定义了一整套审批流.首先来看下它的效果: 1. 审批模板 这是一个最简单的审批流,首先指定审批实体,及相关字段,再配置流程节点 ...

  4. HTML5学习笔记(十九):Lambda和Promise

    Lambda 在ES6的标准中称为Arrow Function(箭头函数).下面是一个简单的箭头函数: x => x * x 上面的定义和下面的代码定义效果一样: function (x) { ...

  5. Java学习笔记(十九)——Java 日志记录 AND log4j

    [前面的话] 学习的进度应该稍微在快一点. Java日志到了必须学习怎么使用的时候了,因为在项目中要进行使用.基础性文章,选择性阅读. [结构] java日志对调试,记录运行,问题定位都起到了很重要的 ...

  6. 设计模式C++学习笔记之十九(State状态模式)

      19.1.解释 概念:允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类. main(),客户 CLiftState,电梯状态抽象类 CCloseingState,电梯门关闭 ...

  7. Python学习笔记第十九周

    目录: 一.路由系统URL 1.Django请求生命周期 2.创建Django project 3.配置 4.编写程序 二.视图 三.模板 四.ORM操作 内容: 一.URL 1.Django请求生命 ...

  8. C#学习笔记(十九):字典

    自定义泛型 泛型类,第一替代符T,第二替代符U using System; using System.Collections.Generic; using System.Linq; using Sys ...

  9. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

随机推荐

  1. MVC EF 移除建表时自动加上s的复数形式

    移除建表时自动加上s的复数形式 public class DBContext : DbContext { public DBContext() : base("name=DBContext& ...

  2. 用CNN对CIFAR10进行分类(pytorch)

    CIFAR10有60000个\(32*32\)大小的有颜色的图像,一共10种类别,每种类别有6000个. 训练集一共50000个图像,测试集一共10000个图像. 先载入数据集 import nump ...

  3. CSS中各种居中的问题

    1.元素水平居中 1.1 在父元素上使用text-align: center; father { text-align: center; } 1.2 margin: 0 auto; 在上一个问题中,我 ...

  4. mysql函数调用过程

    1.conn = mysql_init(NULL);//初始化  MYSQL *conn; 2.mysql_real_connect(conn, "localhost", &quo ...

  5. zabbix模板化监控

    zabbix模板化监控 1. 实验简述 在zabbix监控中,有很多组的概念,具体有以下几种: 1. 主机和主机组,相同类型/应用的主机,可以归属于同一个主机组 2. item和application ...

  6. 使用基本MVC2模式创建新闻网站

    MVC简介 所谓MVC,即Model-View-Controller. (1)Model层:Model指模型部分,一般在应用中Model层包括业务处理层和数据访问层.数据访问层主要是对数据库的一些操作 ...

  7. Python学子之如何退出python 命令行

    python命令行是新手学习python过程中必须要学的一个工具,下面我们来看一下怎么退出python命令行. 工具/原料 python2.7 方法/步骤 1.我们这里使用的是python3.6版本, ...

  8. 010-1 Socket地址族AddressFamily

    AddressFamily地址组成员 成员名称 说明 AppleTalk AppleTalk 地址. Atm 本机 ATM 服务地址. Banyan Banyan 地址. Ccitt 对于 CCITT ...

  9. 关于4A系统(我对4A系统的维护的理解)

    4A系统 4A系统是统一安全管理平台解决方案,指认证Authentication.账号Account.授权Authorization.审计Audit,中文名称为统一安全管理平台解决方案.即将身份认证. ...

  10. 自定义element-ui中的图标

    element-ui图标库图标较少,比如有关于登录页面输入框里的用户名和密码的小图标就没有,这个时候可以自定义图标. <el-input v-model="loginForm.user ...