在下面的代码片段中,当我尝试执行这两行时,我得到了这个错误:“BadRequestError: cannot use a projection on a property with a equal filter”
myname = self.response.get('state')
qy1=db.GqlQuery(*SELECT name,phoneNumber,description,city,state FROM Table1 WHERE state =:1",myname)
在此之后我确实有一个 for 循环来遍历 qy1 中 i 的结果集:(做一些 json 转储)现在 state 字段是 StringProperty ,甚至做 str(myname) 也会产生相同的结果。我一直在寻找他们说你应该做我以前做过的事情或者做“一些字符串”中的状态,但是如果我把它改成那个,我会得到一个错误,它不是一个列表。
有什么建议吗?
完整的堆栈跟踪是:
INFO 2013-03-23 14:12:08,756 dev_appserver.py:3103] "POST /sendNearByPlaces.html HTTP/1.1" 500 -
ERROR 2013-03-23 14:12:22,023 webapp2.py:1552] cannot use projection on a property with an equality filter
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1535, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1529, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1102, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "C:\Users\defiant\Desktop\PythonServer\bar.py", line 368, in post
for i in qy1:
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\db\__init__.py", line 2326, in next
return self.__model_class.from_entity(self.__iterator.next())
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_query.py", line 2892, in next
next_batch = self.__batcher.next()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_query.py", line 2754, in next
return self.next_batch(self.AT_LEAST_ONE)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_query.py", line 2791, in next_batch
batch = self.__next_batch.get_result()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 604, in get_result
return self.__get_result_hook(self)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_query.py", line 2528, in __query_result_hook
self._batch_shared.conn.check_rpc_success(rpc)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\datastore\datastore_rpc.py", line 1224, in check_rpc_success
raise _ToDatastoreError(err)
BadRequestError: cannot use projection on a property with an equality filter
INFO 2013-03-23 14:12:22,075 dev_appserver.py:3103] "POST /sendNearByPlaces.html HTTP/1.1" 500 -