1

こんにちは、私は GAE と Python を初めて使用し、PHP と MySQL のバックグラウンドを持っています。私の質問が素朴で十分な宿題がない場合はお詫び申し上げます。

私のアプリには多くのマスターがあり、これらのマスターを 1 つずつ表示したい (ビューをリスト モードに切り替えるオプション)。

すべてのマスター モデルには ts という属性があり、保存すると現在のタイムスタンプが自動的に入力されます。

マスター クラスにメソッド get_rec があり、デフォルトで最後に保存されたレコードをフェッチします。ナビゲーション ボタンをクリックすると、システムは前または次を取得することになっています。これを達成するために、私はこのコードを書きます

q = db.Query(modl)
if pos == "prev" :
    #ts is a string returned by JSON as 2012-07-03T14:19:36.817000
    q.filter("ts <", ts.replace("T", " "))
    q.order('-ts')
elif pos == "next" :
    q.filter("ts >", ts.replace("T", " "))
    q.order('ts')
else :
    q.order('-ts')
res = q.fetch(1)
return simplejson.dumps(res, cls=jsonEncoder)

ただし、返されるデータ オブジェクトは常に最後のレコードです。ところで、json が送信した ts には時間の前に T がありますが、データ ビューアー コンソールでは T が見つかりませんが、代わりにスペースがあります。Tをスペースに置き換えてみました。日付オブジェクトを日付文字列ではなく datetime.datetime() として渡しますか?

ここで何かが足りないのですか...

前もって感謝します

4

1 に答える 1

1

文字列を日時に変換する必要があります-フィルターは文字列では機能しません。

最初のヘルプhttp://docs.python.org/library/datetime.htmlを読む

strftime と strptime を使用します (フォーマットまたは解析) http://docs.python.org/library/datetime.html#strftime-strptime-behavior

回答に投票してください!

于 2012-07-04T17:12:24.867 に答える