一:F查询;二:Q查询
一:F查询
多个字段之间的比较—应用场景
在上面所有的例子中,我们使用的过滤器只是将字段值与某个常量做比较、
如果我们要对两个字段的值做比较那该怎么做呢?
Django提供F()来做这样的比较,F()的实例可以在查询中引用字段来比较同一个model实例中的两个不同字段的值。
Django支持F()对象和常数之间的加减乘除取模操作。
二:Q查询
多个字段联合查询,比如or----应用场景
filter()等方法中的关键字参数查询都是一起进行’and’的操作,如果需要执行更复杂的查询(例如OR语句),我们可以使用Q对象。
Q对象和 |(或)、&(与)、()(括号)、~(非) 进行联合使用。
注意: Q对象和关键字混合使用的时候,关键字需要写在最后。