model查询 -- F && Q
- F -- 对表中的某个字段操作
- 将book表中所有书的价格增加100元
-
Book.objects.update(price=F("price")+100)
- Q -- 多条件查询
- Book.objects.filter(title='php', price__lt=500) 只能查询满足title='php'并且price__lt=500的书,无法做或条件的查询
- 查询title='php'或者price__lt=500的书
-
Book.objects.filter(Q(title='php') | Q(price__lt=500))
- 查询title='php'并且price__lt=500的书
-
Book.objects.filter(Q(title='php') & Q(price__lt=500))
- 查询书名不是php的书
-
Book.objects.filter(~Q(title='php'))
- Q对象可以与关键字参数查询一起使用,不过一定要把Q对象放在关键字参数查询的前面。
-
Book.objects.filter(Q(id=1) | Q(price__lt=500), title__startswith='P')
- Book.objects.filter(title='php', price__lt=500) 只能查询满足title='php'并且price__lt=500的书,无法做或条件的查询