将Django调度程序应用程序与您自己的模型一起使用

时间:2014-06-20 12:19:24

标签: python django django-models django-forms django-scheduler

使用https://github.com/llazzaro/django-scheduler我想在日历中使用自己的模型,它们也有开始和结束日期。

我认为有多种方法可以解决这个问题:

  1. 破解当前的计划应用程序,使其与我的模型进行交互。
  2. 使用save()覆盖创建模型时创建默认事件模型。
  3. 使用"事件与通用对象的关系" django-scheduler app的功能。
  4. 扩展默认事件模型以满足我自己的要求。
  5. 我想使用第三个选项但我不知道如何使用它,因为日历链接到单个对象。

    我是Python和Django的新手,所以有人可以给我建议吗?

2 个答案:

答案 0 :(得分:2)

要实现选项3,您的通用对象将有一个外键链接到该日历应用程序中的Event对象。

答案 1 :(得分:0)

Django Scheduler有一个非常隐藏的设置(甚至没有在官方文档中报告)可以解决这个问题:

SCHEDULER_BASE_CLASSES

SCHEDULER_BASE_CLASSES = {
    'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2']
    'Calendar': [my_app.models.CalendarAbstract']
}

因此,您可以定义自己的抽象模型,并使Calendar扩展它。

修改

正如@Jheasly在评论中所说,现在已经记录了这个功能。