python学习笔记-Day022 - F,Q

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)

时间: 2024-12-28 10:30:02

python学习笔记-Day022 - F,Q的相关文章

python学习笔记-Day022 - django ORM操作

一对多:models.ForeignKey() 首先定义表结构: class UserType(models.Model):     caption = models.CharField(max_length=32)     def __unicode__(self):         return self.caption          class UserInfo(models.Model):     username = models.CharField(max_length=32)

python学习笔记之函数总结--高阶函数以及装饰器

python学习笔记之函数总结--高阶函数以及装饰器 Python特点: 1.不是纯函数式编程(允许变量存在): 2.支持高阶函数(可以传入函数作为变量): 3.支持闭包(可以返回函数): 4.有限度的支持匿名函数: 高阶函数: 1.变量可以指向函数: 2.函数的参数可以接收变量: 3.一个函数可以接收另一个函数作为参数: 下面我将示例一些函数的写法以及使用,并说明python中函数的特性: 1.基本的高阶函数示例: #!/usr/bin/env python def func():      

Python学习笔记 (第8课)

本节我们将学习python的另一种数据类型:集合(set) 1.集合(set) 集合在Python中是一种没有重复元素,且无序的数据类型,且不能通过索引来引用集合中的元素 >>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana'] >>> set(basket) set(['orange', 'pear', 'apple', 'banana']) set1-set2来获得在set1中的元素在

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

python 学习笔记 6 -- 异常处理

当你的程序中出现某些 异常的 状况的时候,异常就发生了.例如,当你想要读某个文件的时候,而那个文件不存在.或者在程序运行的时候,你不小心把它删除了. 那么如果你是在IDE中运行,一个错误发生,异常会被打引出来,这便是未处理异常:当异常发生时,如果没有代码去关注和处理它,这些异常会传给置在Python中的缺省处理,他会输出一些调试信息并且终止运行.如果是在IDE中,这不是什么大事,但是如果是Python程序运行中的异常,它会导致整个程序终止,对于这些情况可以使用异常来处理. 1.try..exce

【python学习笔记】7.更加抽象

[python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以解除与原始实例的绑定 self表示当前实例的引用 成员变量也称为特性 __bases__: 基类 __class__: 对象类型 __dict__: 所有特性 python的接口不用显式的制定对象必须包含哪些方法,只要对象符合当前接口就可以调用 可以对象上通过赋值的方式,创建变量 #!/usr/bi

python学习笔记5:python读写文件

python学习笔记5:python读写文件 一.文件的打开模式 1.打开文件 1) f=open('D:\\a.txt','w') 第一个参数是文件的路径,如果只写文件的名字,默认是在当前执行目录下的文件:第二个参数是文件的打开模式 这种方式打开文件,在使用完了之后一定要记得,关闭文件: f.close() 2) with open('D:\\a.txt','w') as f 这种方式打开文件,文件在使用完后会自动关闭文件,不需要close  2. 文件的打开模式 总的来说,文件的打开模式有三

python学习笔记7-函数的多类型传值和冗余参数

python学习笔记7-函数的多类型传值和冗余参数 函数多类型传值 例一,元组传参 In [2]: def fun(x,y):    ...:     return x+y In [4]: print fun(3,5) 8 In [5]: t=(1,2) In [6]: print fun(*t)  注意,这里使用的是*t调用元组t 3 In [7]: print fun(t)   用t,不加*,报错只给了一个参数,需要给2哥参数 --------------------------------

python学习笔记(03):函数

默认参数值:   只有在行参表末尾的哪些参数可以有默认参数值,即 def func(a, b=5 )#有效的 def func( a=5,b )#无效的 关键参数: #!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', c func(3, 7) func(25, c=24) func(c=50, a=100) #输出: $ pyth