关于filter and exclude
业务上数据比较多,查询比较多,所以经常使用sql进行数据的查询,因此对于sql比较熟悉,但是对django的orm了解的就不是很深了。
结果出来的数据不满足需求,本来想排除指定订单,但是没有排除掉。
经过看query_set的sql的语句(里面有属性query,可以打断点去看),原来exclude将里面的排除条件叠加了,即只有同时满足里面的数据才会被排除,这样处理的。
后来,进行了改动,将exclude的排除条件,进行了拆分,即排除了执行两次exclude,然后将数据排除。
注:query_set是orm的对象集合,可以多次执行filter和exclude,以及其他的操作和统计。