如何将 StringProperty 作为字符串对象进行迭代?
How do you iterate over StringProperty as a string object?
我的代码如下:
class sample(ndb.Model):
text=ndb.StringProperty()
class sample2(webapp2.RequestHandler):
def get(self, item):
q = sample.query()
q1 = query.filter(item in sample.text)
我想在示例中的文本中搜索特定的词(项)。我该怎么做?我尝试了这个 link,但它并没有真正回答我的问题 -
首先,Python 2 is deprecated since 1st of January 2020 and the Google Cloud Platform strongly encourages the migration 更新的运行时。此外,不再推荐使用 ndb 库,并且需要更新依赖它的代码才能开始使用 Python 3 运行时。所有这些原因让我建议你在花很多时间之前直接切换。
话虽如此,您可以在有关 queries and properties. There are also a couple of examples in the Github code samples 的 ndb 库文档中找到答案。
首先您需要使用 query()
方法检索实体,然后通过 python 对象 属性 表示法访问它的数据。大致如下所示:
q = sample.query() # Retrieve sample entity.
substring = 'word' in q.text # Returns True if word is a substring of text
不幸的是,您不能对数据存储(或任何其他数据库)执行类似的查询。 Datastore查询是基于索引的,索引不能存储复杂的信息,比如string是否有某个子串。
App Engine 还有一个 Search API 可以用来进行更复杂的文本搜索。
我的代码如下:
class sample(ndb.Model):
text=ndb.StringProperty()
class sample2(webapp2.RequestHandler):
def get(self, item):
q = sample.query()
q1 = query.filter(item in sample.text)
我想在示例中的文本中搜索特定的词(项)。我该怎么做?我尝试了这个 link,但它并没有真正回答我的问题 -
首先,Python 2 is deprecated since 1st of January 2020 and the Google Cloud Platform strongly encourages the migration 更新的运行时。此外,不再推荐使用 ndb 库,并且需要更新依赖它的代码才能开始使用 Python 3 运行时。所有这些原因让我建议你在花很多时间之前直接切换。
话虽如此,您可以在有关 queries and properties. There are also a couple of examples in the Github code samples 的 ndb 库文档中找到答案。
首先您需要使用 query()
方法检索实体,然后通过 python 对象 属性 表示法访问它的数据。大致如下所示:
q = sample.query() # Retrieve sample entity.
substring = 'word' in q.text # Returns True if word is a substring of text
不幸的是,您不能对数据存储(或任何其他数据库)执行类似的查询。 Datastore查询是基于索引的,索引不能存储复杂的信息,比如string是否有某个子串。
App Engine 还有一个 Search API 可以用来进行更复杂的文本搜索。