【问题标题】:GAE python string equality - strange behvaior with unicodeGAE python字符串相等 - unicode的奇怪行为
【发布时间】:2012-05-11 15:33:26
【问题描述】:

我们正在尝试比较字符串,一个是从数据存储中加载的,另一个是从 HTML 表单中获取的

modelID = self.request.get('fieldName')

然后我们比较两者:

result = db.Query(modelName).filter('model_id =', modelID).fetch(limit=1)

但尽管我检查了数据存储查看器并清楚地看到存在一个具有 model_id = modelID 的实体,但 python 坚持认为它们不等于践踏我让我的应用程序运行的尝试。

【问题讨论】:

  • 而不是使用.fetch(limit=1),然后必须检查结果、索引它等,只需使用.get(),如果没有结果则返回None,如果有结果则返回第一个结果.

标签: python google-app-engine google-cloud-datastore


【解决方案1】:

在字符串中搜索空格

您可以使用 string.strip() 函数来摆脱它们! 空间是邪恶的,会阻碍平等......

保重!

【讨论】:

    【解决方案2】:

    在过滤器中尝试使用 unicode(modelID) 而不是 modelID。

    我认为 GAE 将字符串存储为 unicode。

    【讨论】:

    • 这有什么不同吗?它不会有所作为,例如一个 python dict 键。
    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多