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))

它正在记录“无”,因为它正在运行其他。“如果不是user_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 回答