Eventos de filtro do Django que ocorrem hoje

Eu estou lutando para representar logicamente o seguinte em um filtro do Django. Eu tenho um modelo de 'evento' e um modelo de localização, que pode ser representado como:

class Location(models.Model):
    name = models.CharField(max_length=255)

class Event(models.Model):
    start_date = models.DateTimeField()
    end_date = models.DateTimeField()
    location = models.ForeignKeyField(Location)

    objects = EventManager()

Para um determinado local, desejo selecionar todos os eventos que ocorrem hoje. Eu tentei várias estratégias através de um método 'bookings_today' no EventManager, mas a sintaxe correta do filtro me engana:

class EventManager(models.Manager):
    def bookings_today(self, location_id):
        bookings = self.filter(location=location_id, start=?, end=?)

date () falha pois isso zera os horários, e o horário durante o dia é crítico para o aplicativo, o mesmo vale para min e max das datas e para usá-las como suportes de livros. Além disso, existem várias configurações válidas possíveis:

start_date < today, end_date during today
start_date during today, end_date during today
start_date during today, end_date after today

Preciso codificar um conjunto de diferentes opções ou existe um método mais simples e elegante?

questionAnswers(6)

yourAnswerToTheQuestion