import os
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'idjango.settings')
import django
django.setup()
from idea import models
from django.db.models import F, Value
from django.db.models.functions import Concat
# 1.查询卖出数量大于库存数量的书籍名称
# F 直接获取到某个字段下的数据,当作查询条件
print(models.Book.objects.filter(sale__gt=F('store')))
# < QuerySet[ < Book: 老人与海 >, < Book: 西游记 >, < Book: 道德经 >, < Book: 孙子兵法 >] >
# 2.将所有书籍的价格提升10元
models.Book.objects.update(price=F('price') + 10)
models.Book.objects.update(price=F('price') - 10)
# 3.将所有书的名称后面加上'平台自营'
# 操作字符类型的数据时,F无法拼接[会使名称变为空白],需要导入Concat模块和Value模块
models.Book.objects.filter(pk=4).update(title=Concat(F('title'), Value(' 平台自营')))
django专栏 search 08.F查询
最新推荐文章于 2024-08-14 17:16:46 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)