表结构
一般过滤器都是将字段值与摸个常量做比较,如果想要对两个字段的值做比较,则需要用到F()查询。
F动态获取字段的值,可以进行运算。django支持F对象之间及F对象与常量之间的加减乘除取余的操作,修改操作update()也可以使用F()函数
在使用F查询前,确保表已经迁移。迁移命令可查看使用django框架对mysql数据库进行操作_xutengfei999的博客-CSDN博客
中的第9条,并配置好url。
vies.py文件
from django.db.models import F
结果:
Q查询
如果需要执行or语句之类的查询,就可以使用Q查询
Q对象可以使用&|~操作进行组合
优先级从高到低:~&|
例:
查询工资大于7000或年龄大于22的人名或工资
结果:
筛选省份以东或北结尾,并且名字里包含“任”字的人
注意:Q对象和关键字混合使用,Q对象要在所有关键字的前面
结果: