我对应用引擎很陌生,我第一次尝试在应用引擎数据库中设置一些文本。
这是我的代码:
def setVenueIntroText(text):
  venue_obj = db.GqlQuery("SELECT * FROM Venue").get()
  venue_obj.intro_text = text     # Works if I comment out
  db.put(venue_obj)               # These two lines
这会引发某种异常 - 由于我的 django 1.02 设置,我无法分辨它是什么。
好的,我在下面的答案中给出了代码,在删除我的数据存储后它工作了,但我仍然不满意。
这是一个更新:
我已将我的代码修改为看起来对我有意义的东西。当我调用 getVenueIntroText 时,它不会抱怨 - 顺便说一句,我在数据库中没有任何项目。
当我调用 setVenueIntroText 时,出于某种原因它不喜欢我正在做的事情 - 如果有人知道原因,我真的很想知道 :)
这是我最近的尝试:
def getVenueIntroText():
  venue_info = ""
  venue_obj = db.GqlQuery("SELECT * FROM Venue").get()
  if venue_obj is not None:
      venue_info = venue_obj.intro_text
  return venue_info
def setVenueIntroText(text):
  venue_obj = db.GqlQuery("SELECT * FROM Venue").get()
  if venue_obj is None:
     venue_obj = Venue(intro_text = text)
  else:
     venue_obj.intro_text = text
  db.put(venue_obj)