Django(22)-ORM中F对象和Q对象

Django(1)-简介

Django(2)-创建项目及默认项目目录结构介绍

Django(3)-配置文件详解

Django(4)-URL和视图

Django(5)-路由配置实例

Django(6)-请求及响应

Django(7)-Get请求和Post请求

Django(8)-设计模式

Django(9)-模板层简介与入门实例

Django(10)-模板层的变量和标签

Django(11)-模板层的过滤器和继承

Django(12)-url反向解析

Django(13)-静态文件

Django(14)-应用及分布式路由

Django(15)-模型层及ORM介绍

Django(16)-ORM基础字段及选项

Django(17)-ORM创建数据

Django(18)-ORM常用的查询函数详解及实例演示

Django(19)-ORM条件查询

Django(20)-ORM更新操作及实例演示

Django(21)-ORM删除操作及实例演示

Django(22)-ORM中F对象和Q对象

Django(23)-ORM聚合查询和原生数据库操作

Django(24)-admin后台管理设置步骤以及常见样式详解

Django实战技巧(1)-开发测试生产环境配置切换处理技巧

Django实战技巧(2)-git代码仓分支管理技巧

Django实战技巧(3)-项目配置

1、F对象

  • 一个F对象代表数据库中某条记录的字段的信息
  • 作用:
    • 通常是对数据库中的字段值在不获取的情况系进行操作
    • 用于类属性(字段)之间的比较
  • 语法:
from django.db.models import F
F("列名")

实例:需求:将所有人员的年龄增加10岁
如果不使用F对象

persons=Person.objects.all()
for p in persons:
	p.age+=10
	p.save()

使用F对象则变得非常简单,而且不需要将所有数据都查询出来遍历处理

Person.objects.all().update(age=F("age")+10)

2、Q对象

  • 当在获取查询结果集,使用复杂的逻辑或、逻辑与、逻辑非等操作时可以借助Q对象进行操作
    实例:获取年龄=20或者性别为man的人员
>>> from django.db.models import Q
>>> from app1.models import Person
>>> persons=Person.objects.filter(Q(age=20) | Q(sex="man"))
>>> persons
<QuerySet [<Person: 姓名:zhangsan,年龄:20,性别:man>, <Person: 姓名:lisi,年龄:20,性别:man>, <Person: 姓名:wangwu,年龄:20,性别:man>, <Person: 姓名:Jack,年
龄:20,性别:man>]>
>>>
  • 可用的逻辑运算符有:与(&),或(|),非(~),与非(&~)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值