- 导包
from django.db.models import F F('字段名')
2. 作用
- 通常是对数据库中的字段值在不获取的情况下进行操作
- 用于类属性(字段)之间的比较
3. 说明
- 一个 F() 对象代表了一个model的字段的值
- F对象通常是对数据库中的字段值在不加载到内存中的情况下,直接在数据库服务器端进行操作,从而避免多用户各自对数据进行操作所造成的并发问题
mysql:
update ... set values = values + 1
4.示例
例①:直接操作值
- 对Student的所有学生的身高增加10cm
from django.db.models import F models.Student.objects.all().update(height = F('height')+10)
例②:比较
- 对两个字段的值进行比较,列出高于平均身高的值
from django.db.models import F heights = models.Book.objects.filter(height__gt=F('average_height'))
本文介绍了Django中F对象的使用,主要用于在不获取字段值的情况下直接在数据库层面进行字段操作,避免并发问题。通过示例展示了如何直接操作字段值以及进行字段间的比较,如增加所有学生身高和筛选高于平均身高的记录。
1997

被折叠的 条评论
为什么被折叠?



