これが私のコードです。いくつかの部分を通過しました。
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クラスに保存するコードを配置すると、機能します。