使用https://github.com/llazzaro/django-scheduler,我想在日历中使用我自己的模型,它们也有开始和结束日期。
我认为有多种方法可以解决这个问题:
- 破解当前日程应用程序,使其与我的模型交互
- 在创建我的模型时创建默认的事件模型,使用save()覆盖。
- 使用django-scheduler应用程序的"事件到泛型对象的关系"特性。
- 扩展默认事件模型以满足我自己的需求。
我想使用第三个选项,但我不知道如何使用它,因为日历链接到单个对象。
我对Python和Django都很陌生,所以有人能给我一些建议吗?
要实现选项3,您的通用对象将有一个外键链接到该日历应用程序的Event
对象。
Django Scheduler有一个相当隐藏的设置(甚至没有在官方文档中报告),它可以做到这一点:
SCHEDULER_BASE_CLASSES
SCHEDULER_BASE_CLASSES = {
'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2']
'Calendar': [my_app.models.CalendarAbstract']
}
因此,您可以定义自己的抽象模型并使Calendar扩展它。
编辑
正如@Jheasly在他的评论中所说,这个特性现在已经被记录了。