Python 如何在现有应用程序中使用django调度程序应用程序

Python 如何在现有应用程序中使用django调度程序应用程序,python,django,scheduler,Python,Django,Scheduler,我正在寻找django应用程序来处理任务日历类的事件,django schedule示例项目提供了一个示例项目,但我不知道如何将my Task类(title&startTime)映射到django schedule的事件类。文档中没有明确说明如何才能做到这一点?如果可以在这里提供一些指针或步骤,将django schedule应用程序与现有应用程序一起使用,将非常感谢 这里的解决方案是存在的,但我不能从中获得太多。我正在寻找一些关于如何将django scheduler挂接到我自己的模型的教程在

我正在寻找django应用程序来处理任务日历类的事件,django schedule示例项目提供了一个示例项目,但我不知道如何将my Task类(title&startTime)映射到django schedule的事件类。文档中没有明确说明如何才能做到这一点?如果可以在这里提供一些指针或步骤,将django schedule应用程序与现有应用程序一起使用,将非常感谢


这里的解决方案是存在的,但我不能从中获得太多。我正在寻找一些关于如何将django scheduler挂接到我自己的模型的教程

在internet上找到了这个很好的对话,作为参考,将解释如下逻辑:

  • 假设您的任务类具有startDateTime和endDateTime以及标题
  • 从schedule.models导入事件、事件关系、日历(来自schedule应用程序)
  • 覆盖Task对象的save方法以创建新事件,如下所示,修改了上面链接中提供的代码以使其更清晰
  • 代码查找现有日历并将事件附加到该日历,该事件通过关系链接到任务对象
  • 尝试了下面的代码来扩展源代码提供的项目示例应用程序,效果很好

    def save(self, force_insert=False, force_update=False):
        new_task = False
        if not self.id:
            new_task = True
        super(Task, self).save(force_insert, force_update)
        end = self.startDateTime + timedelta(minutes=24*60)
        title = "This is test Task"
        if new_task:
            event = Event(start=self.startDateTime, end=end,title=title,
                      description=self.description)
            event.save()
            rel = EventRelation.objects.create_relation(event, self)
            rel.save()
            try:
                cal = Calendar.objects.get(pk=1)
            except Calendar.DoesNotExist:
                cal = Calendar(name="Community Calendar")
                cal.save()
            cal.events.add(event)
        else:
            event = Event.objects.get_for_object(self)[0]
            event.start = self.startDateTime
            event.end = end
            event.title = title
            event.description = self.description
            event.save()
    
  • 仍然需要搜索扩展日历事件上的单击功能,该事件当前提供一个文本框,如何使用超链接自定义该文本框还有待观察,但上面的代码回答了问题和部分问题