我有一个地理模型结构,其中多个事件可以具有相同的位置:
class Event(models.Model):
name = models.CharField(max_length=128, blank=True, null=True)
location = models.ForeignKey('MarketLocation', null=True, blank=True)
class EventLocation(models.Model):
location = models.PointField(srid=4326)
我正在使用GeoFeatureModelSerializer
django-rest-framework-gis 提供的输出单个 JSON 对象,但PointField
它被呈现为字符串而不是坐标对:
所以它给了我:
"location": "POINT (-1.909 53.7094)"
代替:
"point": {
"type": "Point",
"coordinates": [-123.0208, 44.0464],
},
合乎逻辑的答案是在序列化程序中定义字段:
geo_field = eventlocation__location
但这似乎对输出没有任何影响,这让我认为它可能不起作用,但它可能应该起作用。有人做过这项工作吗?如果有,怎么做?