Select between two dates with Django

Select between two dates with Django

I am looking to make a query that selects between dates with Django.
I know how to do this with raw SQL pretty easily, but how could this be achieved using the Django ORM?
This is where I want to add the between dates of 30 days in my query:
start_date = + datetime.timedelta(-30)
context[self.varname] = self.model._default_manager.filter(


Answer 1:

Use the __range operator:

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

Answer 2:


Answer 3:

two methods

.filter(created_at__range=[from_date, to_date])

another method

  • gte means greater than equal
  • lte means less than equal