我一直在使用做一个项目。我已经设置了用户,并且必须检查用户名是否被取走。
我使用了下面的代码来尝试测试它是否被接受
usernames = db.GqlQuery('select username from User')
taken = username in usernames 这从未捕捉到重复的用户名。我在GQL查询行上尝试了几个变体。我尝试使用.get(),这导致了一个错误,因为它返回了一些不可迭代的内容。我还尝试将list()放在请求周围,这会返回相同的错误。我试着编写usernames的值,但没有得到任何响应。如果它返回一个查询实例,那么是否有任何方法将其转换为一个列表或元组?
发布于 2015-10-11 01:07:18
首先,您应该重新访问docs https://cloud.google.com/appengine/docs/python/datastore/gqlqueryclass?hl=en
db.GqlQuery('select username from User')调用的是构造函数,而不是函数,因此它返回GqlQuery对象的实例。见上文所述的文档。
第二,由于最终的一致性,你所做的工作永远不会可靠。请阅读consistency以了解原因。
最后,您是从应用程序引擎开始的,所以不要使用db,除非您有大量的现有代码库,否则使用ndb。
https://stackoverflow.com/questions/33059926
复制相似问题