Как реализовать календарь с записью на определенное время с использованием SQL, Django
Есть сайт-соцсеть на django. Есть необходимость написать календарь для каждого пользователя, чтобы в каждый день были 3 конкретизированных часа (например, 13:00, 14:00 и 15:00, система, похожая на docdoc), когда можно сделать запись к указанному лицу. Какие есть методы реализации? Если напрямую SQL - то как соединить? Спец-(m2m-m2m)-Календарь; Календарь-(m2m-m2m)-Часы? И как календарь записать в SQL? Или может, часы стоит поместить в календарь, а не создавать отдельную таблицу для них? Или есть какие-то специальные библиотеки/сервисы django что-бы подобное организовать?
Ну например так:
CREATE TABLE calendar (
customer_id INT NOT NULL,
calendar_day DATE NOT NULL,
calendar_time TIME WITHOUT TIME ZONE NOT NULL,
PRIMARY KEY (customer_id, calendar_day, calendar_time),
FOREIGN KEY (customer_id) REFERENCES customer (customer_id),
CHECK (calendar_time IN ('13:00', '14:00', '15:00'))
);
Альтернативно можно сделать
CREATE TYPE type_calendar_time ENUM('13:00', '14:00', '15:00')
тогда
calendar_day type_calendar_time NOT NULL,
и убрать CHECK constraint.