Выбор приложения на основе метки времени - PullRequest
2 голосов
/ 14 сентября 2009

Я не могу выбрать что-то на основе метки времени. Поведение немного странное, и символы <и =, похоже, не означают того, чего я от них ожидаю. </p>

""" A site message """
class Message( db.Model ) :
  # from/to/ a few other fields
  subject = db.StringProperty()
  body = db.Text()

  # this is the field i'm trying to use
  sent = db.DateTimeProperty( auto_now_add=True )

Когда я пишу GQL-запросы, такие как

select * from Message where sent = '2009-09-14 01:00:02.648000'

(есть сообщение ТОЧНО, что отметка времени в хранилище данных)

это дает мне ничего назад.

Если я попытаюсь

select * from Message where sent < '2009-09-14 01:00:02.648000'

Это просто дает мне их все. Когда я пробую знак>, он просто снова не дает мне ничего.

Что здесь происходит и как выбрать на основе метки времени?

1 Ответ

5 голосов
/ 14 сентября 2009

Делайте НЕ используйте строки, чтобы "подставить" для datetime! Это просто не сработает ...

См. документы : DateTimeProperty соответствует значению datetime.datetime . import datetime, конвертируйте ваши любимые строки в datetime.datetime экземпляры (например, вызывая их метод strptime), используйте эти экземпляры для сравнения - и, конечно же, живите долго и счастливо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...