zoukankan      html  css  js  c++  java
  • QuerySet的常用方法

    QuerySet常用方法
    使用 connection.queries 可以查看sql语句
    filter 将满足条件的结果返回,返回值为QuerySet对象
    exclude 将满足条件的结果过滤掉,返回值为QuerySet对象
    annotate 给QuerySet中的每一个对象都添加一个查询表达式,(Q,F,聚合函数)的字段
    order_by 安装某个字段进行排序,默认为从小到大排序,如果想要重大到小可以在字段前加“-”,需要注意order_by可以传递多个参数,会按照先后级别进行排序,而且order_by还可以用annotate新增的字段来排序,注意:order_by重复调用会只会保存最后一个。
    values:提取需要哪些字段,默认会把全部都提取出来。返回的结果是QuerySet,但是其中包裹的不是模型,而是字典,如果想要提取关联数据,那么可以通过F表达式来完成。values也可以使用聚合函数
    values_list 提取需要字段,返回QuerySet,其中包裹的元组,如果数据只有一条,则可以使用flat=True进行扁平化处理,直接返回结果
    all 方法:返回全部数据(返回包裹对象的QuerySet)
    select_related : 可以将关联的对象一起查询出来,只能用于外键连接的形式(一对多或者一对一的形式)
    prefetch_related : 使用的时候传入反向引用的时候调用的名称默认为 filed_set,使用这个方式可以用来查询多对一或者多对多的方式,也可以用来查询一对一或者一对多的,但是不推荐。
    defer : 过滤掉不需要的字段,返回值是一个包裹着模型的QuerySet
    only : 提取某些字段,返回一个包裹模型的QuerySet
    get : 直接返回对象,只能返回一条数据,如果返回数据超过一条就会报错,如果没有匹配到任何数据也会报错。
    create : 用于增加一条数据,并且将数据保存在数据库中,相当于先创建数据,然后调用save方法
    get_or_create : 如果给定的条件存在数据就查找返回,如果不存在就创建一个,然后在返回,返回结果是一个元组,元组中两个内容,第一个是模型对象,第二个是bool值,如果没有创建返回False,如果创建了返还True。
    bulk_create :可以一次性创建多条数据。
    count :获取满足条件的数据的个数
    first,last 分别返回QuerySet中第一条和最后一条数据
    exists : 判断数据是否存在,存在返回True,不存在返回False
    distinct : 去重,默认按照全部字段判断。注意如果和order_by同时使用会失效
    update :更新数据
    delete : 删除数据,需要注意:字段中on_delete的级联删除方式
  • 相关阅读:
    iOS多线程编程之NSThread的使用
    在 VS 2013/2015 中禁用 nuget 包的源代码管理
    【转】辽宁北斗TV直播源
    Xamarin Crack
    在VisualStudio 编辑器文本替换中使用正则表达式
    Camtasia 录屏说明
    简化MSI在WIN10的安装
    在WPF中使用变通方法实现枚举类型的XAML绑定
    XAML UserControl的继承
    ArcGIS 10.1 BUG记录
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/11543985.html
Copyright © 2011-2022 走看看