pkl*_*all 3 django calendar django-models django-admin
我正在研究django中的日历应用程序,并希望支持在给定的开始日期之后重复无限次的事件.我将存储"块事件",其中每个块包括关于特定事件(标题,描述......)的数据以及它重复的模式和"到期日期".这样,我只为一组可能数百个重复的事件实例存储一条记录.如果我想创建一个"异常",我可以围绕异常拆分此事件块,并将每个块链接到前一个和将来的块.
我的问题是我希望能够运行查询以获取给定时间段内的所有"逻辑事件",就好像为每个重复实例插入了新的事件记录一样.基本上我想向我的应用程序(和django的管理应用程序)显示每个事件的django模型,但是为我的数据库中的每组事件存储一个不同的模型.这是可能的,如果是的话......怎么样?或者有更好的方法来重复事件吗?
看看django-schedule,它已经为此实现了一个系统.它们使用Period类知道如何在给定时间范围内收集单个事件发生,因此它们可以支持无限重复.
如果你想在Django管理员中为每个重复发生的事件显示真实的单个模型对象,那也是可能的,但你必须放弃支持无限重复(你根本无法生成无限数量的模型对象) .我为一个项目实现了这个:每个单独的Occurrence对象都有一个可选的ForeignKey到Recurrence模型,它存储了有关重复的元数据(即"从这个日期开始的每周一周").在Recurrence对象的save()方法中,我将删除或创建匹配其新数据所需的任何链接的Occurrence.
第一个解决方案是针对该问题的优秀通用解决方案,但您可能必须自己完成更多的UI工作,因为您无法将每个事件都发生到实际的模型实例中.
| 归档时间: |
|
| 查看次数: |
3155 次 |
| 最近记录: |