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>]>
>>>
- 可用的逻辑运算符有:与(&),或(|),非(~),与非(&~)