モデルを正しく保存 (または put()) するのに問題があります。興味深いのは、モデルが機能する前に非常によく似た保存を行っていることです。以下は、コードの関連部分です。2 つのログ ポイントで、最初のログ ポイントはユーザーの電子メールを正しく返します。ただし、2 番目のものはエラーになりますAttributeError: 'NoneType' object has no attribute 'c_user'
。明らかに、これでの変数の設定と設定解除は正しい方法ではありません。問題を突き止めてモデルが保存されていないことを発見するためにこれらを追加しました。助言がありますか?どうもありがとう!
class Source(db.Model):
current_user = db.UserProperty()
class SourceMember(db.Model):
c_user = db.UserProperty()
x_position = db.IntegerProperty()
y_position = db.IntegerProperty()
...
user = users.get_current_user()
if user:
source_key = self.request.get('g')
if not source_key:
source_key = user.user_id()
source = Source(key_name = source_key,
current_user = user)
source.put()
else:
source = Source.get_by_key_name(source_key)
source = None
source = Source.get_by_key_name(source_key)
logging.warning(source.current_user)
if source:
sourceMember = SourceMember.get_by_key_name(user.user_id() + source_key)
if not sourceMember:
sourceMember = SourceMember(parent = source.key(),
key_name = user.user_id() + source_key,
c_user = user,
x_position = None,
y_position = None)
sourceMember.put()
sourceMember = None
sourceMember = SourceMember.get_by_key_name(user.user_id() + source_key)
logging.warning(sourceMember.c_user)