我的系统中有一个用户创建了一个我想检索的实体。我正在尝试使用filter进行此操作,因为它应该比调用gql method更快。但是,过滤器不返回任何结果,并且gql起作用。

randy_res = Vote.all().filter('created_by=', randy).fetch(limit=10)
randy_res = Vote.gql('WHERE created_by=:1', randy)

是否有任何原因导致过滤器返回空列表,而gql调用将返回正确的结果?

最佳答案

使用filter()时,要求字段名称和运算符之间有一个空格。为了使filter()调用按预期工作,您只需要在等号前插入一个空格即可:

randy_res = Vote.all().filter('created_by =', randy).fetch(limit=10)

关于google-app-engine - App Engine的过滤器与gql方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3304532/

10-10 01:05