django之 F与Q查询】的更多相关文章

F与Q查询 F查询 why?…
F查询 from django.db.models import F,Q # 当查询条件来自于数据库的某个字段,这个时候就必须使用F # 查询卖出数大于库存数的商品 res = models.Product.objects.filter(maichu__gt=F('kucun')) # 将所有商品的价格提高100块 models.Product.objects.update(price=F('price')+100) # 将所有商品的名字后面加一个爆款后缀 from django.db.mode…
一.F查询 rom django.db.models import F from app01.models import Book Book.objects.update(price=F("price")+20) # 对于book表中每本书的价格都在原价格的基础上增加20元 就这样一条简单的语句就完成了对表中所有商品价格的更新,是不是很方便!如果没有F查询,你首先要获取原价格,再做一个算术运算,然后更新字段.F查询专门对对象中某列值的操作,不可使用__双下划线! 二.Q查询 Q查询可以…
F查询 from django.db.models import F,Q # 1.查询库存数大于卖出数的书籍 res = models.Book.objects.filter(kucun__gt=F('maichu')) print(res) #<QuerySet [<Book: Book object>]> # 2.将所有书的价格提高100 models.Book.objects.update(price=F('price') + 100) """…
Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通过python manage.py shell 就能进入当前目录下的IDLE,类似于数据库中的python操作 --- import os #导入os ---os.getcwd() #获取当前路径 '/home/pyvip/TK18_07/py_course/hello_django1' ---fr…
一.创建表 创建四个表:书籍,出版社,作者,作者详细信息 四个表之间关系:书籍和作者多对多,作者和作者详细信息一对一,出版社和书籍一对多 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名")  会自动创建第三张表 创建表 class Book(models.Model): nid = models.AutoFiel…
#F与Q查询 #*************************** F 查询 ******************** # F 查询数据库中的其他字段!!! #1.查询库存数大于卖出数的书籍 from django.db.models import F res=models.Books.objects.filter(kucun__gt=F('maichu')).values('title') print(res) #结果:<QuerySet [{'title': '西游记2'}]> #2.…
F与Q 查询 class Product(models.Model): name = models.CharField(max_length=32) #都是类实例化出来的对象 price = models.DecimalField(max_digits=8,decimal_places=2) sell_out = models.IntegerField() stock = models.IntegerField() def __str__(self): return '商品对象的名字:%s'%s…
返回ORM目录 Django ORM 内容目录 一.F.Q查询 二.事务 三.only与defer 一.F.Q查询 """ Product表中的数据: 1 橡皮 2 2000 3000 2 铅笔 3 12 200 3 华为保时捷 18000 30 23 4 索尼A6000 3680 24 12 """ # 查询卖出数大于50的商品 # res = models.Product.objects.filter(maichu__gt=50) # <…
一.聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字典 """ 聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在 django.db.mode…