1

私はこのコードを持っています:

    q = db.GqlQuery("SELECT * FROM UserData WHERE user_id = :1", current_user.user_id())
    user_data = q.get()

    if not user_data:
        logging.error('a')
        user_data = UserData(user_id = current_user.user_id(),
                             primary_email = current_email
                             )
        user_data.put()
    else:
        logging.error(pprint.pprint(user_data))

elseを実行しているため、「None」をログに記録しています。「None」は「ifnotuser_data」に捕らえられるべきではありませんか?

4

1 に答える 1

0

表示される出力は、ローカル コンソールで実行されているものとは異なります (提供されたコードからいくつかのギャップを埋めました)。

from google.appengine.ext import db

class UserData(db.Model):
  user_id = db.StringProperty()

u = UserData()
u.user_id = "Foo"
u.put()

q = db.GqlQuery("SELECT * FROM UserData WHERE user_id = :1", "Bar")
user_data = q.get()

if not user_data:
  print "Not"
else:
  print "Is"

これは以下を出力します:

Not

コードの他の部分で意図しない副作用が発生している可能性がありますか?

于 2012-10-26T22:12:54.563 に答える