如何从字典填充 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
有效。
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
有效。