我有一个实体类:
class User(db.Model):
local = db.TextProperty(required=True)
jid = db.TextProperty(required=True)
稍后在代码中我正在检查用户是否存在:
def parseMessageFromJid(self, message, mesFrom) :
#user = User.all().filter(' jid', mesFrom.lower().strip()).get()
user = db.GqlQuery("SELECT * FROM User " +
"WHERE jid = :1",
mesFrom.lower().strip()).get()
if user is None :
if message.body.strip().lower().find("register") != 0 :
message.reply(HELP_MSG)
elif message.body.strip().lower().find("register") == 0 :
uname = message.body.strip().replace("register ", "", 1).replace(" ", "") + "@mybot.com"
user = User(jid=mesFrom,local=uname)
user.put()
message.reply("Ok. You are now registered.")
else :
# User registered, proceed
self.send_to_bots(message, user.local)
我尝试了两种方法:gql和注释代码。两种方法都返回None
,但是用户就在那里:我可以在我的控制台中看到它,当我User.all()
时它就在那里。我在这里缺少什么?
答案 0 :(得分:3)
TextProperty
未编入索引。
使用StringProperty