我正在尝试使用基于键参数的filter()方法。例如:
user_id="agxkZXZ-emFiZXRhLTJyCgsSBFVzZXIYGAw"
d=datamodel.Task.all()
d.filter("user=",user_id)
results=d.fetch(1024)
这会产生零结果,可能是因为密钥格式不正确。如果这个gql我必须使用Key()函数,如下所示:
db.gqlQuery("select * from Task where user=Key(:1)",user_id)
但是我不认为我可以在过滤器中使用Key()函数,但必须有一些python函数等效...有没有办法正确格式化在filter()方法中使用的键?
答案 0 :(得分:4)
您确实可以在过滤器中使用Key
个实例!
from google.appengine.api.datastore_types import Key
user_id="agxkZXZ-emFiZXRhLTJyCgsSBFVzZXIYGAw"
datamodel.Task.all().filter('user', Key(user_id))