2009-09-17 92 views
2

數據存儲我有這樣的數據存儲模型GAE - 如何編輯/更新蟒蛇

class Project(db.Model) 
projectname = db.StringProperty() 
projecturl = db.StringProperty() 

class Task(db.Model) 
project = db.ReferenceProperty(Project) 
taskname= db.StringProperty() 
taskdesc = db.StringProperty() 

如何編輯TASKNAME的價值?說我有獨立寫作,我想將其更改爲TASK1項目

回答

1

給定一個實例的Taskt(例如,從上db一些get操作),你可以執行你想例如變更通過t.taskname = t.taskname + '-project'(如果你想要的是「追加'-project'之前的任何東西)。最後,你也可能需要.putt回到商店,當然(但如果你做了多個更改,你不需要把它!回來後每一個變化 - 只有當你做改變它 - )

+0

嗨!感謝您的回答。我使用這段代碼,但仍然沒有任何反應。 taskkey = self.request.get( 「taskkey」) 的taskid = Task.get(taskkey) 查詢= db.GqlQuery( 「SELECT * FROM任務WHERE __key__ =:任務id」,的taskid =的taskid) 如果query.count()> 0: task = Task() task.taskname =「task1-project」 task.put() – gene 2009-09-17 03:36:42

+2

您的代碼是未格式化的(編輯您的答案以顯示格式良好的代碼),但是您顯然這樣做是爲了產生一個全新的,無關的任務對象(當然還有一個全新的和不相關的關鍵字)並且將其放在一起 - 這顯然不會改變原來的對象,但是你斷言「沒有任何反應」是嚴重錯誤(檢查你的儀表板!!!),你現在有一個更多的實體任務種類(完全按照您的指定)。你爲什麼不像我說的那樣改變原來的一個,而是改變一個全新的呢?!?!? – 2009-09-17 05:06:27

-1

也許最簡單的方法是使用管理控制檯在本地是:

http://localhost:8080/_ah/admin 

,如果你已經。上傳它,它的儀表板:

http://appengine.google.com/dashboard?&app_id=****** 

Here's的鏈接:

2

哎呀對不起,這裏是格式化的代碼:

taskkey = self.request.get( 「taskkey」)
的taskid = Task.get(taskkey)
查詢=分貝.GqlQuery( 「SELECT * FROM任務,其中關鍵=:任務id」,任務id =任務id)

如果query.count()> 0:
任務=任務()
task.taskname =「TASK1項目「
task.put( )

順便說一句我現在明白了。我將task = Task()更改爲task = query.get(),它工作。

感謝您的幫助。