0

Google App Engine Datastore で文字列型の Date フィールドを指定しました。そのため、日付フィールドを任意の順序で並べ替えることができません。

Fname = db.StringProperty()
Lname = db.StringProperty()
Date = db.db.StringProperty()   #Format: DD/MM/YYYY

データベースに約 800 のデータ レコードがあるため、日付フィールドを変更できません。

この問題を整理するのを手伝ってください..

4

1 に答える 1

1

いくつかの選択肢しかありません。

  1. db.DateProperty を使用するようにモデルを変更します
  2. 文字列の形式を YYYY-MM-DD に変更します
  3. 並べ替えの比較を行うときに、日付文字列を実際の日付に変換するラムダを使用して、メモリ内のクエリ結果を並べ替えます。
  4. 追加の DateProperty を作成し、文字列を DateProperty として複製します

ああ、800 レコードは変換するのにそれほど多くはありません;-) リモート API を介して変換を行うと、変換を実行するために追加のコードを展開する必要がなくなります。ただし、オプション 1 または 4 を使用する場合は、モデルを更新する必要があります。

于 2013-05-07T06:34:51.083 に答える