0
class FirstModel(db.Model):
p = db.StringProperty()
r=db.ReferenceProperty(SecondModel)
class SecondModel(db.Model):
r = db.ReferenceProperty(FirstModel)
class sss(webapp.RequestHandler):
def get(self):
a=FirstModel()
a.p='sss'
a.put()
b=SecondModel()
b.r=a
b.put()
a.r=b
a.put()
self.response.out.write(str(b.r.p))
的錯誤是:KindError:屬性r必須是SecondModel的實例,爲什麼?
Traceback (most recent call last):
File "D:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 511, in __call__
handler.get(*groups)
File "D:\zjm_code\helloworld\a.py", line 158, in get
a.r=b
File "D:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 3009, in __set__
value = self.validate(value)
File "D:\Program Files\Google\google_appengine\google\appengine\ext\db\__init__.py", line 3048, in validate
(self.name, self.reference_class.kind()))
KindError: Property r must be an instance of SecondModel
感謝
它的定義之前,您不能引用'SecondModel'。如果你沒有從上面的代碼中得到錯誤,那麼你需要定義SecondModel兩次,而且事情幾乎肯定會以某種方式破壞。 – geoffspear 2010-06-09 13:14:34
我更新了它,現在沒關係 – zjm1126 2010-06-10 00:56:34