首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按显示顺序获取数据库中的行?

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

Stack Overflow用户
提问于 2021-06-06 05:00:38
回答 3查看 658关注 0票数 5

我有一些使用notion-client library检索概念数据库中的行的Python代码。代码确实设法检索了所有行,但顺序错误。我查看了API reference中的Sort object,但无法弄清楚如何使用它以行在notion.so上显示的确切顺序返回它们。下面是正在讨论的代码片段:

代码语言:javascript
复制
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'])

我遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2021-06-10 14:18:58

概念API在当前版本中不支持视图,因此它不一定会与您使用它的顺序相匹配,除非您已经应用了也可以通过API应用的排序或筛选器。

票数 1
EN

Stack Overflow用户

发布于 2021-09-30 02:28:47

这和他们的documentation一样有效

代码语言:javascript
复制
const response = await notion.databases.query({
    database_id: databaseId,
    filter: {
      or: [
        {
          property: 'In stock',
          checkbox: {
            equals: true,
          },
        },
        {
          property: 'Cost of next trip',
          number: {
            greater_than_or_equal_to: 2,
          },
        },
      ],
    },
    sorts: [
      {
        property: 'Last ordered',
        direction: 'ascending',
      },
    ],
  });
票数 0
EN

Stack Overflow用户

发布于 2021-06-06 05:38:59

notion.databases.query()使用order参数。此参数是排序规范的列表,这些规范是字典。

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

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67853902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档