Как реализовать календарь с повторяемыми событиями? - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь реализовать календарь с повторяющимися событиями. Простой пример (на человеческом языке): «Что-то происходит каждый рабочий день с 10:00 до 12:00»

Какой самый правильный способ хранения этих данных в базе данных и поиска между ними. Поиск может быть что-то вроде «Дайте мне все события во вторник, 21 февраля 2012 года».

Я планирую использовать реляционную базу данных для их хранения.

P.S. Я планирую использовать Python и Django, чтобы можно было использовать существующие библиотеки.

1 Ответ

4 голосов
/ 20 января 2012

Вам нужно подумать о том, как вы хотите реализовать это при определении наилучшего способа хранения данных:

  • , если пользователи смогут перенести или удалить одно из повторяющихся событий
  • аналогично, должны ли изменения в повторяющихся событиях изменять все события или только будущие события?
  • Вы заботитесь о создании большого количества записей в базе данных?

Если ответ положительныйДля первых двух и нет для последнего, самый простой способ реализовать это - позволить событиям иметь родительское событие, а затем создать отдельную запись с именем Recurring, которая описывает, как повторяется базовое событие.Затем каждый раз, когда повторяется повторяющееся событие, запускается сценарий, который создает / воссоздает события.

Поиск событий сам по себе упрощается: поскольку они являются фактическими событиями, вы просто ищете их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...