0

クエリを実行したい

SELECT * FROM users WHERE uname='foo' AND passwd='bar'

これは常にNoneを返します。私のテーブルにはクエリに一致するエントリがあります。インデックス作成と何か関係があると思います。index.yamlを次のように編集しました。

indexes:

- kind: users
  ancestor: no
  properties:
  - name: uname
    direction: asc
  - name: passwd
    direction: asc

しかし、私が定義するuname=db.TextProperty(required=True,indexed=True)と、それは次のような奇妙なエラーを返します

<class 'google.appengine.ext.db.ConfigurationError'>: indexed must be False. 
      args = ('indexed must be False.',) 
      message = 'indexed must be False.'

私がエラーをグーグルで検索するとき、完全に一致するものがゼロであるため、私はそれを奇妙と呼んでいます。

私は何が欠けていますか?

4

1 に答える 1

4

管理コンソールのデータストアビューアでクエリを実行しようとしましたか。何を作成するためにインデックスを作成するかを提案します。

ただし、テキストプロパティはインデックスに登録できません。ドキュメントによると

StringPropertyとは異なり、TextPropertyの値は500文字を超える場合があります。ただし、TextProperty値はインデックス付けされておらず、フィルターや並べ替え順序で使用することはできません。

于 2012-06-08T16:45:49.443 に答える