[英]django point definition
我的模特:
class Mod(models.model)
name = models.CharField(max_length = 255)
co_x = models.DecimalField(max_digits = 11, decimal_places = 8)
co_y = models.DecimalField(max_digits = 11, decimal_places = 8)
我的看法:
def closedPoint(request):
location_name = str(request.POST.get("lo", default=""))
nokta_x = int(float(request.POST.get("x"))
nokta_y = int(float(request.POST.get("y"))
poi = Point(nokta_x, nokta_y, srid = 900913)
sk = Mod()
poi_s = Point(sk.co_x, co_y, srid = 900913)
resut_poi = Mod.objects.filter(poi_s__distance_lte = (poi, D(km = 7))).filter(name__in = location_name)
在这里我想扣除7公里内的最近点,但它给出了“为点初始化提供的无效参数
好的,现在可以很清楚地看到您的错误消息来自使用None
初始化Point
类。
那是您的第一个关键问题。
根据错误消息判断,我的猜测是poi_s
使用None, None
初始化, None, None
初始化None, None
因为Mod()
是一个未保存的实例,没有值,并且这些参数都是无效的。
sk = Mod() # unsaved Mod instance with no defaults
poi_s = Point(sk.co_x, co_y, srid = 900913)
# sk.co_x is None
解决上述问题后将出现的第二个问题是查询具有无效查询类型(特定于PointField
, __distance
)的模型,该模型接受元组。 我不知道该如何解决。
您将必须查看GeoDjango如何将该元组转换为数据库查找。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.