gpt4 book ai didi

django - django日历中无限重复的事件

转载 作者:行者123 更新时间:2023-12-01 01:22:27 26 4
gpt4 key购买 nike

我正在 django 中开发一个日历应用程序,并希望支持在给定开始日期之后无限次重复的事件。我将存储“块事件”,其中每个块都包含有关某个事件(标题、描述...)的数据以及它重复的模式和“到期日期”。通过这种方式,我只为一组可能有数百个重复事件实例存储一条记录。如果我想创建一个“异常”,我可以围绕异常拆分此事件块,并将每个块链接到先前和 future 的块。

我的问题是我希望能够运行查询以获取给定时间段内的所有“逻辑事件”,就好像为每个重复实例插入了新事件记录一样。 本质上,我想向我的应用程序(和 django 的管理应用程序)显示每个事件的 django 模型,但在我的数据库中为每组事件存储一个不同的模型。 这可能吗,如果有的话……怎么办?或者是否有更好的方法来重复事件?

最佳答案

看看 django-schedule ,它已经为此实现了一个系统。他们使用 a Period class 知道如何在给定的时间范围内收集单个事件发生,因此他们可以支持无限重复。

如果您想在 Django 管理中为重复事件的每次出现显示真实的单个模型对象,那也是可能的,但是您必须放弃支持无限重复(您根本无法生成无限数量的模型对象) .我为一个项目实现了这一点:每个单独的 Occurrence 对象都有一个 Recurrence 模型的可选外键,该模型存储了关于重复的元数据(即“从这个日期开始每周一次”)。在 Recurrence 对象的 save() 方法中,我将删除或创建与新数据匹配所需的任何链接事件。

第一个解决方案是该问题的高级通用解决方案,但您可能需要自己做更多的 UI 工作,因为您无法将每个 Occurrence 都变成一个实际的模型实例。

关于django - django日历中无限重复的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1209090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com