使用AppEngine在StringProperty上“BadValueError:不支持对文本属性进行过滤”

时间:2010-07-14 17:56:27

标签: python google-app-engine

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

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

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

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

执行此操作时,我收到以下错误:BadValueError: Filtering on Text properties is not supported.

即使它是StringProperty。以前从未发生这种情况,谷歌的一些搜索根本没有帮助。 有人有同样的问题吗?

1 个答案:

答案 0 :(得分:1)

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