您的位置:首页 > 编程语言 > Python开发

python学习笔记-Day022 - F,Q

2016-04-20 22:39 344 查看
django中还有一个 F 和一个 Q

导入方式from django.db.models import F

关于F :
使用方法
F 比较好说, 他是用来指定表中的字段的,

比如说 table01 中的 size 字段加 1 的时候 ,
在SQL 中的语句是
update table01 set size = size +1
django中 的则是
models.table01.objects.all().update(size = F("size")+1)
F("size") 表示的就是 当前行的size , 这就是F的作用.

关于Q
用于条件查询
像一些网站提供的指定多个搜索条件的高级搜索,就可以用Q来实现.

使用方法:
from django.db.models import Q

condition1 = Q()
condition2 = Q()
condition3 = Q()

# 设定 condition1 ,多个条件, 或 关系 ,也可以设置其他关系
condition1.connector = "OR"
condition1.children.append(("id",1))
condition1.children.append(("id",3))

# 设定 condition2 ,多个条件, 或 关系,也可以设置其他关系
condition2.connector = "OR"
condition2.children.append(("name","alex"))
condition2.children.append(("name","eric"))

#将 condition1 和 condition2 一起放到 condition3
condition3.add(condition1,"ADD")
condition3.add(condition2,"ADD")

# 进行条件查询.
models.TableName.objects.filter(condition3)

本文出自 “Will的笔记” 博客,请务必保留此出处http://timesnotes.blog.51cto.com/1079212/1766023
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: