У меня есть сайт событий с запросом, который должен выбрать все события, которые происходят сегодня или позже. Проблема в том, что некоторые события занимают более 1 дня, поэтому я хочу, чтобы запрос выполнял «выбрать все события с конечной датой (till_date) равной или более поздней, чем сегодня, и отсортировать их по начальной дате (from_date)».
К сожалению, когда я делаю это, я получаю сообщение об ошибке: «Первое свойство упорядочения должно совпадать со свойством фильтра неравенства, если оно задано для этого запроса; получено из_даты, ожидается до_даты». Однако сортировка по параметру till_date дает плохой результат.
В настоящее время я запускаю код, как показано ниже, но это означает, что событие, которое началось вчера и заканчивается завтра, не отображается в списке. Есть ли способ обойти это?
Лучший,
Винсент
class Event(db.Model):
author = db.StringProperty()
email = db.EmailProperty()
title = db.StringProperty()
url = db.LinkProperty()
in_city = db.StringProperty()
in_country = db.StringProperty()
from_date = db.DateProperty()
until_date = db.DateProperty()
register_date = db.DateTimeProperty(auto_now_add=True)
class EventsHandler(webapp.RequestHandler):
def get(self):
events = Event.all()
events.filter("from_date >=", datetime.date.today())
events.order("from_date")
template_values = {
'events': events,
}
self.response.out.write(template.render('templates/events.html', template_values))