Q 模型和/或查询给出不正确的结果
Q model and or query giving incorrect result
我想使用 Q 模型执行以下 SQL 查询
SELECT * FROM motor_vehicle_collision.collision_data_collisiondetails
where (numberOfCyclistInjured > 0 or numberOfCyclistKilled > 0) and
(longitude != '' and latitude != '');
为此我在下面写了查询
query = Q(numberOfCyclistInjured__gt=0)
query.add(Q(numberOfCyclistKilled__gt=0), Q.OR)
query.add(~Q(latitude=''), Q.AND)
query.add(~Q(longitude=''), Q.AND)
但我仍然收到 latitude/longitude 为空的数据,我应该如何纠正它?
您可以使用:
query = (Q(numberOfCyclistInjured__gt=0) | Q(numberOfCyclistKilled__gt=0))
& ~Q(longitude='')
& ~Q(latitude=''))
这也使得如何将条件绑定在一起变得更加明确。
我想使用 Q 模型执行以下 SQL 查询
SELECT * FROM motor_vehicle_collision.collision_data_collisiondetails where (numberOfCyclistInjured > 0 or numberOfCyclistKilled > 0) and (longitude != '' and latitude != '');
为此我在下面写了查询
query = Q(numberOfCyclistInjured__gt=0)
query.add(Q(numberOfCyclistKilled__gt=0), Q.OR)
query.add(~Q(latitude=''), Q.AND)
query.add(~Q(longitude=''), Q.AND)
但我仍然收到 latitude/longitude 为空的数据,我应该如何纠正它?
您可以使用:
query = (Q(numberOfCyclistInjured__gt=0) | Q(numberOfCyclistKilled__gt=0))
& ~Q(longitude='')
& ~Q(latitude=''))
这也使得如何将条件绑定在一起变得更加明确。