2012-06-03 22 views
0

想要编辑数据库。我已经尝试过,但不起作用。如何修改appengine数据库中的条目?

def post(self, pageName):$ 
     content = self.request.get('content')$ 
$ 
     p = db.GqlQuery("SELECT * FROM Pages")$ 
     pages = p.run(batch_size = 1000)$ 
     pageExist = False$ 
$ 
     for page in pages:$ 
      if pageName == page.name:$ 
       page.content = content$ 
       break$ 
      else:$ 
       p = Pages(name = pageName, content = content)$ 
       p.put()$ 
     self.redirect(pageName)$ 

需要一些代码帮助。

+0

用'$单曲是什么? – geoffspear

回答

2

当您发现pageName并在相应页面上更改content时,您需要在重定向之前保存页面。

如果意图是用新的content更新一个页面,我不确定你想用else:块来完成什么。

我想你会更快乐做这样的事情

query = db.GqlQuery("SELECT * FROM Pages WHERE pageName=:1", pageName) 
for page in query: 
    page.content = content 
    page.put() 
+0

否则将广告新行阻止到模式。你能否给我一个代码来保存它? – user1322731

+0

误读else块。上面添加的代码。基本上,你错过了一个'put()'。 –

+0

另外,通过不对'pageName'进行筛选,您最终会创建数量不断增长的重复“Pages”。假设你不想重复,请考虑使用'pageName'作为密钥的名称。 –