说我有一个Ndb实体,像这样:
class MyEntity(ndb.Model):
name = StringProperty()
tags = StringProperty(repeated=True)
我将创建一个实体:
>>> e = MyEntity(name='test')
>>> e.tags = ['aaa', 'bbb', 'ccc']
>>> e.tags
['aaa', 'bbb', 'ccc']
>>> t = e.tags
>>> t
['aaa', 'bbb', 'ccc']
到现在为止似乎还可以。现在,我将实体放入:
>>> e.put()
>>> t
[_BaseValue('aaa'), _BaseValue('bbb'), _BaseValue('ccc')]
奇怪...
现在,我打印原始属性:
>>> e.tags
['aaa', 'bbb', 'ccc']
已恢复正常。现在是变量t:
>>> t
['aaa', 'bbb', 'ccc']
也很正常...
此问题New entity in repeated StructuredProperty stored as a _BaseValue与之类似。它说这是一个已知的错误。但是由于它是从2014年开始的,所以我希望该错误现在已经修复。
答案 0 :(得分:0)
实际上,数据存储区属性的“基本值”是一个将被序列化到Cloud Datastore或从其反序列化的值。对于存储,将基值包装在_BaseValue()中,然后调用_store_value()。有关更多详细信息,请参见“ google.appengine.ext.ndb.model的源代码” page。 为确保正确解决此错误,建议您在Public Issue Tracker中打开一个类似的问题,在此肯定可以解决并解决此问题,并且您将可以跟踪开发。