Python django使用列值进行筛选
我有一个点表,其位置数据存储在以下列中:Python django使用列值进行筛选,python,django,geodjango,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,
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 km内的点,但我想使用表中的半径。如何使用表中的半径?
将
km=1
替换为km=youwant的变量
我想使用存储在数据库radius列中的值。请提供它的型号代码,以便我可以向您显示代码。您只需获取它modelName.objects.get(id=yourdiseredid)
或者获取它所需的任何其他id即可。希望这有帮助!当我尝试D(km=F('radius'),而radius是一个floatfieldD时,我得到了错误TypeError:float()参数必须是字符串或数字
from django.db.models import F
LocationInfo.objects.filter(
coordinates__distance_lt=(random_point, D(km=F('FIELD_NAME'))
)
# ^^^^^^^