您如何将 StringProperty 作为字符串对象进行迭代?

我的代码如下:


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)


我想在示例中的文本中搜索特定的单词(项目)。我该怎么做?我试过这个链接,但它并没有真正回答我的问题——如何在 Python 中为 Google App Engine 获取 StringProperty 的值?


长风秋雁
浏览 79回答 2
2回答

慕哥6287543

不幸的是,您不能对数据存储(或任何其他数据库)进行类似的查询。数据存储区查询是基于索引的,索引不能存储复杂的信息,比如字符串是否有某个子串。App Engine 也有一个搜索 API,您可以使用它来进行更复杂的文本搜索。

www说

首先,Python 2 自 2020 年 1 月 1 日起已弃用,Google Cloud Platform 强烈鼓励迁移到更新的运行时。此外,不再推荐使用 ndb 库,并且需要更新依赖它的代码,然后才能开始使用 Python 3 运行时。所有这些原因使我建议您在花费大量时间之前直接切换。话虽如此,您可以在有关查询和属性的 ndb 库文档中找到答案。Github 代码示例中还有几个示例。首先,您需要使用该query()方法检索实体,然后通过 python 对象属性表示法访问它的数据。或多或少会如下所示:q = sample.query()            # Retrieve sample entity.substring = 'word' in q.text  # Returns True if word is a substring of text
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python