django使用列值进行过滤

时间:2017-09-13 07:39:44

标签: python django geodjango

我有一个包含位置数据的点表,存储在以下列中:

coordinates: the geolocation data in longitude and latitude
radius:      the distance from coordinate that it is visible

现在我采取一个随机点,并希望使用django地理定位找到随机点可见的点,例如:

LocationInfo.objects.filter(coordinates__distance_lt=(random_point, D(km=1))

目前我正在检索半径1公里范围内的点,但我想使用表中的半径。我怎样才能使用表中的半径?

1 个答案:

答案 0 :(得分:2)

filters-can-reference-fields-on-the-model

from django.db.models import F
LocationInfo.objects.filter(coordinates__distance_lt=(random_point, D(km=F('FIELD_NAME')))
#                                                                         ^^^^^^^