美文网首页
2018-11-28djenv表的查

2018-11-28djenv表的查

作者: 叶叶阿姨 | 来源:发表于2018-11-28 12:21 被阅读0次
模型查询
模型成员objects

Django默认通过模型的objects对象实现模型数据查询

过滤器

查询集表示从数据库获取的对象集合
查询集可以有多个过滤器
过滤器就是一个函数,基于所给的参数限制查询的结果
从SQL角度来说,查询集合和select语句等价,过滤器就像where条件

Django有两种过滤器用于筛选记录

filter    : 返回符合筛选条件的数据集

exclude   : 返回不符合筛选条件的数据集

多个filter和exclude可以连接在一起查询

当然还有如下这些过滤器:

查询单个数据

filter(条件): 查询满足条件的信息

exclude(条件): 过滤掉满足条件的信息 排除查询 查询到不满足条件的

get():返回一个满足条件的对象。如果没有返回符合条件的对象,会应该模型类DoesNotExist异常,如果找到多个,会引发模型类MultiObjectsReturned异常

first():返回查询集中的第一个对象-->获取结果中的第一个

last():返回查询集中的最后一个对象-->获取结果中的最后一个

count():返回当前查询集中的对象个数

exists():判断查询集中是否有数据,如果有数据返回True,没有返回False

order_by():排序 - :降序 升序就不写

values():获取对象的值

模糊查询

想让大小写不敏感就在前面加个i
contains --> 大小写敏感
icontains --> 大小写不敏感

__contains='小':名字是否包含小,大小写敏感--->类似like '%小%' -->只要有小的

__endswith='小':类似于like '%小' -->最后一个字是小的

__startswith='小':类似于like '小%' -->第一个字是小的

大于小于查询

大于:__gt大于等于:get
小于:__lt小于等于:lte

范围: in
主键: pk

聚合函数

agregate()函数返回聚合函数的值

Avg:平均值

Count:数量

Max:最大

Min:最小

Sum:求和

F对象/Q对象

F对象:可以使用模型的A属性与B属性进行比较

背景:在模型中有两个字段,分别表示学生成绩A与成绩B,要对成绩AB进行比较计算,就需要使用到F对象。

例如有如下例子1:

F对象支持算数运算

grades = Grade.objects.filter(girlnum__gt=F('boynum') + 10)

例子2:

Q对象:

Q()对象就是为了将过滤条件组合起来

当我们在查询的条件中需要组合条件时(例如两个条件“且”或者“或”)时。我们可以使用Q()查询对象

使用符号&或者|将多个Q()对象组合起来传递给filter(),exclude(),get()等函数

Q()对象的前面使用字符“~”来代表意义“非”

模型一对一

定义一对一: OneToOneField()

class A:
    b1 =  OneToOneField(B)

class B():
    name = CharField()

正向查询,已知A对象a,查询B对象: a.b1

反向查询,已知B对象b,查询A对象: b.a

相关文章

  • 2018-11-28djenv表的查

    模型查询 模型成员objects Django默认通过模型的objects对象实现模型数据查询 过滤器 查询集表示...

  • SQL语句

    数据库的增删改查 数据表的增删改查 表内记录的增删改查

  • 2018-06-23 (数据库)

    /*表的增删改查增创建删除删除整张表改改变表名改变列名改变列类型查查询表结构查询表信息表数据的增删改查增插入指定列...

  • left join、right join、inner join

    现需要从A表的order_id,查B表中的bank_no,再根据bank_no查C表的bank_name这种写法:...

  • python基础-03

    python操作mysql数据库 创建数据表 数据表的 增 删 查 改 增 查 改 删

  • ORACLE 11G audio 開啟

    1.查詢當前配置 2.創建專用表空間 3.遷移審計表的表空間 4.查詢及修改當前設置 5.查詢

  • mysql数据库的基本操作

    一、基本增删改查二、创建索引的几种方式三、单表查询四、连表查询 一、基本增删改查 1.数据库的增删改查 show ...

  • 远去的乡愁(五十八)调查表

    调 查 表 顾 冰 列...

  • 基础语法--SELECT

    查:SELECT * FROM 表名 SELECT 列名 FROM 表名 SELECT DISTINCT列...

  • Node JS 连接 Mysql

    连接 Mysql 数据库 查-查看当前数据库中所有的表 查-查看某个表中的所有数据 增-增加一条数据 增-在表中增...

网友评论

      本文标题:2018-11-28djenv表的查

      本文链接:https://www.haomeiwen.com/subject/gyeaqqtx.html