gpt4 book ai didi

django - 如何使用 api 创建 PointField?

转载 作者:行者123 更新时间:2023-12-04 23:16:28 24 4
gpt4 key购买 nike

我正在为 API 使用 django-rest-framework,但是当我发出 post 请求时向我发送此错误:

{
"location": [
"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or HEXEWKB."
]
}

body 要求:
{
"location":{
"type":"Point",
"coordinates":[37.0625,-95.677068]
}
}

我的模型如下:
class Address(models.Model):
location = geo.PointField(srid=4326, blank=True)
objects = geo.GeoManager()

我的序列化程序如下:
class AddressCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Address
fields = ('location')

请帮帮我!

最佳答案

我用 PointField 来自 django-extra-fields为了这。对于前端开发人员来说非常直观(我主要编写移动后端)。这样,在您的序列化程序中指定:

from drf_extra_fields.geo_fields import PointField

class AddressCreateSerializer(serializers.ModelSerializer):
location = PointField()

class Meta:
model = Address
fields = ('location')

请求(猜测您的哪个值是 lat,哪个是 lon):
{
"location":{
"latitude": 37.0625
"longitude": -95.677068,
}
}

关于django - 如何使用 api 创建 PointField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186522/

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