Django. Как проверить входит ли промежуток времени в другой промежуток?
Доброго времени суток!
Есть записи бронирования где есть два параметра from_date, to_date. При добавлении нового бронирования имеются такие же параметры, и проверяется есть ли какие либо записи которые касаются этого промежутка, в случае нахождения возвращать FALSE, а если свободно то TRUE.
Например есть записи:
А) с 14.02.2020 до 19.02.2020
Б) с 20.02.2020 до 23.02.2020
В голову пришло только это, но работает некорректно, аж мозги кипят)
qs = Booking.objects.filter(status__in=[BookingStatus.CONFIRMED, BookingStatus.PAYED, BookingStatus.ACTIVE])\
.filter(Q(from_date__range=(from_date, to_date)) | Q(to_date__range=(from_date, to_date)))\
.count()