qui*_*era 4 django django-rest-framework
我正在为API使用django-rest-framework,但是当我发出发布请求时会向我发送此错误:
{
"location": [
"Invalid format: string or unicode input unrecognized as GeoJSON, WKT EWKT or HEXEWKB."
]
}
Run Code Online (Sandbox Code Playgroud)
正文要求:
{
"location":{
"type":"Point",
"coordinates":[37.0625,-95.677068]
}
}
Run Code Online (Sandbox Code Playgroud)
我的模型如下:
class Address(models.Model):
location = geo.PointField(srid=4326, blank=True)
objects = geo.GeoManager()
Run Code Online (Sandbox Code Playgroud)
我的序列化器如下:
class AddressCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Address
fields = ('location')
Run Code Online (Sandbox Code Playgroud)
请帮帮我!
我PointField从django-extra-fields这里使用。对于前端开发人员来说超级好用和直观(我主要写移动后端)。这样,在序列化器中指定:
from drf_extra_fields.geo_fields import PointField
class AddressCreateSerializer(serializers.ModelSerializer):
location = PointField()
class Meta:
model = Address
fields = ('location')
Run Code Online (Sandbox Code Playgroud)
请求(猜测您的哪个值是经纬度,哪个值是经度):
{
"location":{
"latitude": 37.0625
"longitude": -95.677068,
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1096 次 |
| 最近记录: |