132 votes

Sélectionner entre deux dates avec Django

Je cherche à faire une requête qui sélectionne entre des dates avec Django.

Je sais comment faire cela avec du SQL brut assez facilement, mais comment le faire en utilisant l'ORM de Django ?

C'est ici que je veux ajouter les dates intermédiaires de 30 jours dans ma requête :

start_date = datetime.datetime.now() + datetime.timedelta(-30)
context[self.varname] = self.model._default_manager.filter(
    current_issue__isnull=True
    ).live().order_by('-created_at')

266voto

Daniel Roseman Points 199743

Utilisez le __range opérateur :

...filter(current_issue__isnull=True, created_at__range=(start_date, end_date))

26voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X