我实现了两个查询,我相信它们会做同样的事情。但是他们没有!我的问题是为什么他们不这样做?
def query_5a(n, c):
q = Driver.objects.filter(
models.Q(car__car_type='A') | models.Q(car__color=c)
).filter(
car__ride__gt=n
).distinct()
return q
def query_5b(n, c):
q = Driver.objects.filter(
models.Q(car__ride__gt=n) &
(
models.Q(car__car_type='A') | models.Q(car__color=c)
)
).distinct()
return q
我希望query_5a
的输出等于query_5b
,但不是。