【问题标题】:how to get the info which contains 'sss', not "= ",如何获取包含“sss”的信息,而不是“=”,
【发布时间】:2011-04-13 12:56:38
【问题描述】:

这是我的代码:

class Marker_latlng(db.Model):
    geo_pt = db.GeoPtProperty()

class Marker_info(db.Model):
    info = db.StringProperty()
    marker_latlng =db.ReferenceProperty(Marker_latlng)

q = Marker_info.all()
q.filter("info =", "sss")

但是如何获取包含'sss'而不是“=”的信息,

有类似“包含”的方法吗?

    q = Marker_info.all()
    q.filter("info contains", "sss")

【问题讨论】:

标签: python google-app-engine filter


【解决方案1】:

您可以使用StringListProperty,而不是使用StringProperty。在保存信息字符串之前,将其拆分为包含每个单词的字符串列表。

然后,当您使用 q.filter("info =", "sss") 时,它将匹配包含每个单词的任何项目 "sss"

对于更一般的内容,您可以查看应用引擎全文搜索。

【讨论】:

  • 请注意,在任何情况下,您都将仅限于关键字搜索或关键字前缀搜索;没有很好的方法来进行真正的子字符串搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多