Skip to main content
 首页 » 编程设计

python之使用 AppEngine 的 StringProperty 上的 "BadValueError: Filtering on Text properties is not supported"

2025年05月04日24JustinYoung

我在本地运行 AppEngine。我对对象的以下属性使用了一些过滤器:

class Blah(db.Model): 
    access_code = db.StringProperty() 

然后我在 View 中运行我的过滤器:

cac = Blah.all().filter( 
    'access_code =', 'value_to_find').fetch(1) 

这样做时,我收到以下错误:BadValueError: Filtering on Text properties is not supported.

即使它是一个 StringProperty。这以前从未发生过,在谷歌上进行一些搜索根本没有帮助。 有人遇到同样的问题吗?

请您参考如下方法:

access_code 字段在您的应用程序生命周期中的某个时刻曾经是 TextProperty 吗?即使您更改了模型定义,添加到数据存储区的任何实体在它是文本时仍将是文本。您可以使用管理控制台的数据存储查看器来查找导致此问题的特定实体,以确保它的 access_code 字段绝对是 StringProperty 而不是 TextProperty。