Как внедрить приложение для подбора номера в отеле?
Я работаю над приложением на Django, которое будет брать данные о количестве проданных номеров в отеле на каждую (будущую) дату, на любую заданную дату, и использовать эти данные для определения стоимости проживания. Например, вот как могут выглядеть данные за 12/22/2021:
Date | Rooms Sold | Days Prior |
---|---|---|
12/23/2021 | 34 | 1 |
12/24/2021 | 19 | 2 |
12/25/2021 | 11 | 3 |
12/26/2021 | 10 | 4 |
12/27/2021 | 3 | 5 |
Так, на 22 декабря в отеле было продано 34 номера на ночь 23 декабря, 10 номеров продано на ночь 26 декабря и так далее. Моя цель в этом приложении - сравнить, как меняются цифры, чтобы определить цену за номер на определенную дату. Например, если на 25 декабря в отеле было продано 20 номеров на ночь 26 декабря, то я смогу увидеть, что на эту дату/ночь было продано 10 номеров в течение 3 дней (потому что 12/22 было продано 10 номеров). Я бы хотел, чтобы даты отмечались, если в этот день произошло внезапное увеличение количества проданных номеров, что сигнализирует о возможном событии и повышении спроса на номера в этот день.
Мне просто трудно понять, как я должен сделать это с помощью Django. Лучшее, что я могу придумать, это создать модель Date, с отдельным экземпляром для каждой даты, и каждый экземпляр будет иметь словарь, отслеживающий историю "проданных комнат" за эту дату, причем "ключ" будет столбцом "дней до", а "значение" - столбцом "проданных комнат", так что что-то вроде этого:
# This would be for the room night 12/26, indicating that 4 days prior to 12/26 we had 10 rooms sold, and 1 day prior we had 20 rooms sold
{4: 10,
1: 20}
Но кажется, что я должен поместить все в поля модели, а не в обычный старый словарь, который был бы атрибутом каждого экземпляра даты. Как я могу это сделать? Я предполагаю, что может быть что-то с ForeignKey, но это означает, что мне нужно будет создать отдельный экземпляр модели для каждой точки данных на дату? Я действительно не знаю, как мне поступить в этом случае.
Прошу прощения, если все получилось запутанно, но надеюсь, что в моих словах есть смысл. Спасибо!