Use __lte
and __gte
with exists()
to check if there is something in the date range:
Booked.objects.exists(start_date_time__lte=book_end_date,
end_date_time__gte=book_start_date)
See also: Determine Whether Two Date Ranges Overlap.