版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33867131/article/details/82734602
1、场景一:将公司所有员工的薪水都增加1000元
(1)一般方法:提取所有员工工资,用循环将每一个工资加上1000,保存到数据库里
employees = Employee.objects.all()
for employee in employees:
employee.salary += 1000
employee.save()
(2)用 F表达式,不需要先把数据提取出来,直接update就行了
from djang.db.models import F
Employee.object.update(salary=F("salary")+1000)
2、场景二:获取 name 和 email相同的作者数据
(1)一般方法:提取所有作者的数据,用for...in循环,判断每一个作者的name 和email,相同的取出来
authors = Author.objects.all()
for author in authors:
if author.name == author.email:
print(author)
(2)用 F表达式,直接查找
from django.db.models import F
authors = Author.objects.filter(name=F("email"))