如何将地理位置重复为结构化属性?
我的代码如下所示:
class MyModel(EndpointsModel):
segments = ndb.StructuredProperty(ndb.GeoPt, repeated=True)
当我尝试运行代码并创建MyModel实例时,出现以下错误:
AttributeError: type object 'GeoPt' has no attribute '_has_repeated'
How to find out if a model class is db or a ndb似乎暗示_has_repeated是特定于ndb模型的属性,而https://cloud.google.com/appengine/docs/python/ndb/properties#structured
似乎暗示ndb.GeoPt与db.GeoPt相同。
最佳答案
为什么要对结构化属性使用GeoPt?只需使用以下内容:
class MyModel(EndpointsModel):
segments = ndb.GeoPtProperty(repeated=True)
但是,如果要与每个GeoPt对象一起存储额外的信息,请使用如下结构化属性:
class GeoPtWithStruct(ndb.Model):
geo = ndb.GeoPtProperty()
bla = ndb.StringProperty()
class MyModel(EndpointsModel):
segments = ndb.StructuredProperty(GeoPtWithStruct, repeated=True)
关于python - ndb.GeoPt的重复StructuredProperty,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26542715/