gpt4 book ai didi

python-3.x - PostGIS 地理不支持 "~="函数/运算符

转载 作者:行者123 更新时间:2023-12-05 07:03:48 26 4
gpt4 key购买 nike

我试图通过 update_or_create 方法将点字段保存在数据库中,但它给我这个错误。

我保存数据的函数:

    for city in cities_data:
obj, created = models.City.objects.update_or_create(
name = city["name"],
country = city["country"],
state = city["state"],
point = Point(
float(city["longitude"]),
float(city["latitude"])
),
radius = city["radius"],
is_curated = city["is_curated"],
is_metro_city = city["is_metro_city"]
)
obj.save()

型号:

class City(models.Model):
name = models.CharField(max_length=50)
country = models.CharField(max_length=50)
state = models.CharField(max_length=50)
point = gis_models.PointField(geography=True, null=True)
is_metro_city = models.BooleanField(default=False)
is_curated = models.BooleanField(default=False)
radius = models.IntegerField(null=True)

当我尝试运行它时,我得到了这个错误:

ValueError: PostGIS geography does not support the "~=" function/operator.

我想知道为什么会出现这个错误,我没有找到任何与此相关的有用信息。提前致谢。

最佳答案

如果你想使用它,你可以像这样使用它:

        obj, created = models.City.objects.update_or_create(
**city_data,
defaults={'point': Point(
float(city["longitude"]),
float(city["latitude"])
)}
)

我不知道为什么它不能那样工作,但我让它这样工作,如果你发现它为什么不能工作,你可以改进答案。

关于python-3.x - PostGIS 地理不支持 "~="函数/运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63119848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com