Вы хотите сделать запрос к вашей базе данных, написанной на python. Я хотел бы проверить django docs о том, как делать запросы к базе данных и приложение fieldlookups.
Базовый формат, вероятно, будет выглядеть примерно так:
# Will return a list of dictionary objects for all rows with that foreign key
# Ex: [{'business' : '3', 'monday_open' : someTime, 'monday_close' : someTime...},...]
storeHours = BuisnessHours.objects.values().filter(business = *foreign key*)
# You can also get your even like this
# Ex: [{'business' : '3', 'start' : someTime, 'end' : someTime}, {'business' : '3'...]
storeEvent = Event.objects.values().filter(business = *same foreign key as above*)
* Обратите внимание: если у вас есть разные события, которые вы хотели бы сохранить в магазине, возможно, было бы хорошо иметь столбец «имя» в модели событий, чтобы вы также могли выполнять запросы на основе определенного события. Кроме того, вместо TimeField, попробуйте DateTimeField, чтобы вы тоже могли сохранить дату, если хотите.
После того, как вы вернете свои словари запросов, должно быть просто сгруппировать время начала и окончания в python, чтобы увидеть, какие из них находятся ближе всего к диапазону события. Для этого я бы также взглянул на модуль datetime .
Я бы тоже посмотрел на этот вопрос . Он делает довольно интересные вещи с пониманием списка в формате запроса.
Вероятно, есть более эффективный способ сделать это просто с помощью полевых поисков, хотя я бы тоже посмотрел на это.