如何按显示顺序获取数据库的行?

时间:2021-06-05 21:00:38

标签: python notion-api

我有一些 Python 代码可以使用 notion-client library 检索 Notion 数据库中的行。该代码确实设法检索了所有行,但顺序错误。我查看了 API 参考中的 Sort object,但无法弄清楚如何使用它以在 notion.so 上显示的确切顺序返回行。这是有问题的片段:

from notion_client import Client

notion = Client(auth=NOTION_API_TOKEN)
result = notion.databases.query(database_id='...')
for row in result['results']:
  title = row['properties']['NAME_OF_PROPERTY']['title']
  if len(title) == 0:
    print('')
  else:
    print(title[0]['plain_text'])

我错过了什么?

2 个答案:

答案 0 :(得分:1)

Notion API 在当前版本中不支持视图,因此它不一定会匹配您拥有它的顺序,除非您应用了也可以通过 API 应用的排序或过滤器。

答案 1 :(得分:0)

order 使用 notion.databases.query() 参数。此参数是一个排序规范列表,即字典。

result = notion.databases.query(
    database_id = 'df4dfb3f-f36f-462d-ad6e-1ef29f1867eb',
    sort = [{"property": "NAME_OF_PROPERTY", "direction": "ascending"}]
)

您可以在列表中放置多个排序规范,后面的将用于前面属性中相等的行。

相关问题