如何从 Django PolygonField 中提取点列表?

How to extract a list of points from Django PolygonField?

在我的一个包含 PolygonField 的模型中,我有一个 to_dict 方法,它获取所有值并将它们变成可读的字典。

我对一个有 PointField 的模型做了类似的事情,它看起来像这样:

'point': {
   'type': 'Point',
   'coordinates': [self.point.x, self.point.y]
 },

对于 PolygonField,我必须遍历这些点以将它们放入字典中。我试过了,但正如预期的那样,django 抱怨道:

'polygon': {
   'type': 'Polygon',
   'coordinates': [
     for point in self.path:
       [point.x, point.y]
   ]
 },

如何将 PolygonField 中的所有点添加到字典中?

想通了!

'polygon': {
   'type': 'Polygon',
   'coordinates': [[point.x, point.y] for point in self.polygon]
},