2011-04-06 8 views
2

私は、エンティティクラスを持っている:AppEngineのモデルフィルタリング問題

class User(db.Model): 
    local = db.TextProperty(required=True) 
    jid = db.TextProperty(required=True) 

後のコード内のユーザーが存在する場合、私がチェックしています:GQLとコメント:

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) 

は、私は両方のアプローチを試してみましたコード。両方のアプローチはNoneを返すが、ユーザーはそこにいる:私はコンソールでそれを見ることができ、私がUser.all()を実行するとそこにある。私はここで何が欠けていますか?

答えて

3

TextPropertyは索引付けされません。 使用StringProperty

+0

はい、それでした。ありがとうございました。 – folone

関連する問題