的確切最低版本已描述了:
from google.appengine.ext import ndb
import webapp2
class Foo(ndb.Model):
x = ndb.IntegerProperty()
class Bar(ndb.Model):
foo = ndb.StructuredProperty(Foo, repeated=True)
class Doit(webapp2.RequestHandler):
def get(self):
bar = Bar(foo=[Foo(x=100)])
k = bar.put()
self.response.write('Wrote %s' % k)
app = webapp2.WSGIApplication([
('/', Doit),
], debug=True)
運行良好,符合市場預期。請添加任何進一步的最小代碼量來重現您的問題,否則您將無法幫助我們。 (理想情況下,編輯你的問題,包括一個最小的,完整的應用程序再現你的問題,讓我知道你已經做了這個評論這個答案 - 謝謝!)。
順便說一句,我注意到,在主題你提到LocalStructured
,但在你的問題的代碼,你實際使用StructuredProperty
- 我在這裏展示的代碼效果一樣好,如果使用LocalStructuredProperty
代替StructuredProperty
,無論如何,但仍然,這將是很好的澄清含糊不清,謝謝。
嘗試'ndb.KeyProperty(Kind ='Foo',重複= True)' –
但是不會KeyProperty只保存對Foo實體的引用,而不是整個Foo實體?爲什麼比StructuredProperty更好?到目前爲止,它與StructuredProperty一起工作良好,所以如果我改變模型,我也將不得不回填,這使事情變得複雜。 – user3526468
你有超過一個名爲Foo的班級嗎? – Greg