无法从数据存储 GAE 检索数据

not able to retrieve data from datastore GAE

我有一个 Class 用户

class User(db.Model):
  userId = db.StringProperty()
  email = db.StringProperty()
  channelToken = db.StringProperty()

我用

插入了一条记录
user = User(key_name='1',userId='1',email='abc@gmail.com',channelToken='123')
user.put()

完美插入。但是现在当我试图检索它时,它显示错误

channelToken= db.GqlQuery("SELECT channelToken FROM User WHERE userId=1") 
logging.info("Found Channel : " + str(channelToken))

正在显示

<google.appengine.ext.db.GqlQuery object at 0xfe112370>" is not a string.

我是不是做错了什么?

引用 https://cloud.google.com/appengine/docs/python/datastore/gqlqueryclass#GqlQuery

q = db.GqlQuery("SELECT channelToken FROM User WHERE userId=1") 
channelToken = q.get()

日志记录给出了内存位置,因为 GqlQuery returns 一个对象。

您也可以使用 gql

channelToken = User.gql("WHERE userId = :1", "1").get().channelToken

删除所有具有userId = 1

的记录
users = User.gql("WHERE userId = :1", "1").fetch()
for user in users:
    user.key.delete()