Использование приложения планировщика Django с вашими собственными моделями
Используя https://github.com/llazzaro/django-scheduler я бы хотел использовать свои собственные модели в календаре, у них также есть дата начала и окончания.
Я думаю, что есть несколько способов решить эту проблему:
- Взломайте текущее приложение расписания, чтобы оно взаимодействовало с моими моделями.
- Создание моделей событий по умолчанию при создании моих моделей с помощью переопределения save().
- Используйте функцию "отношения событий к общим объектам" в приложении django-scheduler.
- Расширьте модели событий по умолчанию, чтобы они соответствовали моим требованиям.
Я хотел бы использовать третий вариант, но я не знаю, как его использовать, поскольку календарь связан с одним объектом.
Я новичок и в Python, и в Django, так может кто-нибудь дать мне совет?
2 ответа
Для реализации варианта 3 ваш общий объект будет иметь внешний ключ, связанный с Event
объект из этого календарного приложения.
Django Scheduler имеет довольно скрытую настройку (даже не указанную в официальных документах), которая может сделать свое дело:
SCHEDULER_BASE_CLASSES = {
'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2']
'Calendar': [my_app.models.CalendarAbstract']
}
Таким образом, вы можете определить свою собственную абстрактную модель и сделать так, чтобы Calendar расширял ее.
РЕДАКТИРОВАТЬ
Как сказал @Jheasly в своем комментарии, эта функция теперь задокументирована.