You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python CalDAV中使用sort_keys?其可用键值有哪些?

Python CalDAV search方法sort_keys参数可用键值说明

CalDAV库的search方法支持通过sort_keys参数对搜索结果排序,但官方文档没明确列出可用的键值。结合实际使用和源码逻辑,整理出以下常用排序键:

  • 'dtstart': 按事件/待办的开始时间排序
  • 'dtend': 按事件/待办的结束时间排序
  • 'due': 待办事项的截止时间(仅适用于TODO类型条目)
  • 'created': 条目创建时间
  • 'last-modified': 条目最后修改时间
  • 'summary': 按条目**摘要(标题)**的字符串字典序排序
  • 'priority': 按待办事项的优先级排序(仅适用于TODO类型条目)

用法示例

如果需要按开始时间升序、优先级降序排序,可在调用时传入带负号的键(负号表示降序,默认升序):

# 按开始时间升序,优先级降序排列结果
calendar.search(sort_keys=('dtstart', '-priority'))

search方法参数中文说明

search(xml=None, comp_class=None, todo=None, include_completed=False, sort_keys=(), split_expanded=True, **kwargs)

各参数含义:

  • xml: 自定义CalDAV查询XML,默认None时使用内置查询逻辑
  • comp_class: 指定搜索的组件类,比如Event或Todo
  • todo: 布尔值,是否仅搜索待办事项,优先级低于comp_class参数
  • include_completed: 是否包含已完成的待办事项,默认不包含
  • sort_keys: 排序键组成的元组,支持前缀-表示降序,默认空元组即不排序
  • split_expanded: 是否拆分重复事件的扩展实例,默认开启
  • **kwargs: 其他查询参数,比如start、end用于指定时间范围

内容的提问来源于stack exchange,提问作者awado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:07:15