1

我有一个 GAE 网站。主页显示项目对象列表和用于添加更多项目的表单。当按下提交按钮时,会发出一个运行“create_userstoryproject()”方法的 ajax 请求。此方法添加新项目并返回所有项目的列表,包括刚刚添加的项目。出于某种原因,“create_userstoryproject()”方法中的查询不会返回刚刚添加的项目。但是,如果我刷新页面,导致“get()”方法运行,新添加的项目就会正常显示。我没有简化这段代码——它是剪切和粘贴的。任何人都知道为什么新创建的项目在我刷新页面之前不显示?

class Home(BaseApp): #BaseApp is derived from webapp2.RequestHandler
  def get(self):
    self.context['userstoryprojects'] = UserStoryProject.query().order(UserStoryProject.Order)
    self.context['userstorystatuses'] = UserStoryStatus.query().order(UserStoryStatus.Order)
    self.render('/userstories')

  def create_userstoryproject(self):
    description = self.request.get('userstoryproject[description]', default_value=None)
    if description:
      userstoryproject = UserStoryProject()
      userstoryproject.Description = description
      userstoryproject.put()
      self.context['userstoryprojects'] = UserStoryProject.query().order(UserStoryProject.Order)
      self.render('/userstoryprojects')
    else:
      self.write("fail.")
4

1 回答 1

4

这是因为最终的一致性

于 2013-05-08T22:29:38.750 回答