我已閱讀,閱讀並重新閱讀文檔,並在Web上進行了許多搜索,但我還不明白爲什麼我的應用無法正常工作。 當用戶連接時,他必須完成一個表單。這個代碼適用。當用戶註銷然後登錄時,表單字段會填入他的信息。所以,數據被正確保存。但是,當用戶更改表單字段值並提交表單時,數據不會更新。帶Google的Google App Engine:無法更新數據實體
我的模型:
class Members(db.Model):
account = db.UserProperty()
hashtags = db.StringProperty()
這裏的類來提交表單:
class Submit(webapp.RequestHandler):
def post(self):
user = users.get_current_user()
if user:
url = users.create_logout_url('/')
url_linktext = 'Logout'
member = db.GqlQuery("SELECT * FROM Members WHERE account = :1", user)
if member.count(1) > 0:
m = Members(account=user)
m.hashtags = ','.join([
self.request.get('hashtag1'),
self.request.get('hashtag2'),
self.request.get('hashtag3')])
m.put()
else:
member = Members()
member.account = user
member.hashtags = ','.join([
self.request.get('hashtag1'),
self.request.get('hashtag2'),
self.request.get('hashtag3')])
member.put()
self.redirect('/')
else:
self.redirect('/')
基本上發生的事情是,您在更新之前沒有獲得成員。您正在使用gqlquery來查看是否存在成員,但是您使用'm = Member(account = user)'創建了一個新實體,而不是使用'm = member.get()' – aschmid00 2012-04-21 15:08:48
非常感謝。我的問題解決了。 – tsil 2012-04-21 15:28:16