2012-06-03 45 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'作爲密鑰的名稱。 –