edo1z blog

プログラミングなどに関するブログです

GAE データストアのStringPropertyとTextProperty

久しぶりだったので勘違いしてた。

class StringProperty(verbose_name=None, multiline=False, ...)

StringPropertyは、短い文字列。500 バイト以下の Python str または unicode(basestring)値を使用します。StringProperty プロパティ値はインデックス化され、フィルタや並び替え順序に使用することができます。

multiline が False の場合、値に改行文字を含めることはできません。djangoforms ライブラリはこれを使って、データ モデル内のテキスト フィールドとテキストエリア フィールドの違いを強化します。他のライブラリもこれを同じ目的のために使用することができます。

class TextProperty()

一方、TextPropertyは、長い文字列。StringProperty と異なり、TextProperty 値は 500 バイトより長くすることができます。ただし、TextProperty 値はインデックス化されず、フィルタや並び替え順序に使用することはできません。

TextProperty 値は、テキスト エンコードを使ってテキストを保存します。バイナリ データの場合は、BlobProperty を使用します。

ということで、TextPropertyはgqlで検索とか出来ないのだった。