2010-07-14 55 views
2

在StringProperty上「BadValueError:不支持文本屬性過濾」我在本地運行AppEngine。我使用一些過濾器對我的對象的下列屬性:使用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。這從來沒有發生過,Google上的一些搜索根本沒有任何幫助。 是否有人有同樣的問題?

+0

'value_to_find'是硬編碼的字符串還是變量? – 2010-07-14 19:58:29

+0

這實際上是一個變量 – Martin 2010-07-14 20:32:34

+1

引號中的變量是否與你的例子一樣? – 2010-07-15 02:50:03

回答

1

Access_code字段在應用程序生命中的某個時刻是否曾經是TextProperty?即使您更改了模型定義,在文本中添加到數據存儲的任何實體仍然是文本。您可以使用管理控制檯的數據存儲區查看器來查找導致此問題的特定實體,以確保它的access_code字段絕對是StringProperty而不是TextProperty。

+0

它們都不是StringProperty。我剛剛刪除了所有這些,並重新導入了整個導入..仍然有相同的錯誤。 – Martin 2010-07-14 19:49:28

+0

這也是我第一次發生的事情,但這不會導致這個錯誤 - 它只會導致結果集中缺少條目。 – 2010-07-19 13:31:27