3

我正在尝试将值从 html 表单传递到 gae 数据存储并收到以下错误:

“BadValueError:预期的 GeoPt,得到(51.123,-0.123)”

预先道歉,但我是新手,所以可能会做错事,但真的很感谢一些关于最佳方式的建议。

提前致谢。

4

2 回答 2

6

看起来您正在尝试将元组分配给属性而不是geopt。

您的代码执行此操作:

entity.some_geo_property = (51.123, -0.123)

它需要这样做的地方:

from google.appengine.ext import ndb

entity.some_geo_property = ndb.GeoPt(51.123, -0.123)

或者使用元组:

entity.some_geo_property = ndb.GeoPt(*value)

如果没有看到您的确切代码,很难提供完整的解决方案。如果您提供代码,我会尝试更新我的答案。

于 2013-09-16T21:01:18.227 回答
1

我从未使用过 GeoPt 属性,但我认为您传递了一个包含两个浮点数的元组。

首先将值传递给 ndb.GeoPt() 并将返回值存储在 NDB 中。例子:

location = ndb.GeoPt(51.123, -0.123)

如果您使用 HRD 的 DB API 而不是 NDB API,请使用基本相同的 db.GeoPt()。

于 2013-09-16T21:16:27.930 回答