我有这段代码:
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))
它正在记录“None”,因为它正在运行else。不应该被“if not user_data”捕获“无”?
答案 0 :(得分: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
也许代码的其他部分会出现意想不到的副作用?