0
這是我的代碼。我通過了一些部分。App Engine/Python BadValueError:成員實例必須具有完整的密鑰
class Members(db.Model):
author = db.UserProperty()
username = db.StringProperty()
class Events(db.Model):
author = db.ReferenceProperty(Members)
class MainPage(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
member = Members()
member.author = user
member.username = ''
member.put()
class AddEvent(webapp.RequestHandler):
def post(self):
event = Events()
event.author = Members(author=users.get_current_user())
event.put()
self.redirect('/add')
def get(self):
path = os.path.join(os.path.dirname(__file__), 'templates', 'add_event.html')
self.response.out.write(template.render(path, None))
當添加一個新的事件,我得到這個錯誤BadValueError:各位實例必須有一個完整的鑰匙纔可以被存儲爲參考。我做了一些搜索,當我們不保存實體實例(put())時發生這個錯誤。所以我添加了將用戶保存到數據存儲的代碼,但我得到了同樣的錯誤。當我把代碼保存在AddEvent類中的用戶時,它可以工作。
這幾乎是正確的。我們必須添加.get():member = Members.all()。filter(「author =」,users.get_current_user())。get() – tsil
@IsmaelToé,謝謝,我修復了我的答案。 –