如何从字典填充 StructuredProperty?

How do I populate a StructuredProperty from a dict?

StructuredProperty 上没有 populate 方法(就像 ndb.Model 上的方法一样),那么如何从字典填充这些字段?

您仍然可以 populate StructuredProperty

如果您有这样的模型:

class A(ndb.Model):
  value = ndb.IntegerProperty()

class B(ndb.Model):
  name = ndb.StringProperty()
  a = ndb.StructuredProperty(A)

以下内容将填充两者的属性:

my_dict = {"name":"my name", "a":{"value":1}}
b = B()
b.populate(**my_dict)

您也可以在 属性 上致电 populate:

my_dict = {"value":1}
b = B()
b.a = A()
b.a.populate(**my_dict)

请注意,getter 返回的不是 StructuredProperty 实例。它是 A 的一个实例。所以调用 populate 有效。