最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Orchestra Python API | read 方法的 filters 參數(shù)

2023-06-07 10:07 作者:遨奇思特文化  | 我要投稿

前言:

要使用 Orchestra Python API (下文簡稱 api) 查詢數(shù)據(jù),就需要使用 read 方法。

read 方法提供豐富的過濾、聚合、排序選項(xiàng),在用戶權(quán)限范圍內(nèi)支持查詢一切實(shí)體類型,且線程安全,可放心使用。

在本節(jié)中我們通過案例著重分析 read 方法的 filters 參數(shù),它既是 api 的靈魂,又是學(xué)習(xí)過程中的一大難點(diǎn)。


正文:

filters 參數(shù)用于傳入 filters 語句,過濾出滿足條件的數(shù)據(jù)。

filters 語句與后端接口同構(gòu),確保 api 與前端的查詢結(jié)果一致。

filters 語句覆蓋絕大部分查詢需求,即使是復(fù)雜的跨表查詢依然能保證較高的性能。


一:下面我們從 filters 語句的一般形式開始,以下是一個(gè)最基本的查詢子句

我們構(gòu)造一條具體的查詢語句,把它作為 filters 參數(shù)時(shí)會(huì)查詢所有滿足 name 字段的值等于 Layout?的數(shù)據(jù):

讓我們寫一條更完整的 read 語句,下面的例句會(huì)查詢所有滿足 name 字段的值等于 Layout?的 Task 數(shù)據(jù)。

上面這條 read 語句可以很直觀地翻譯成 sql 偽代碼,有 sql 經(jīng)驗(yàn)的開發(fā)者可以很輕易地抓住其中的要點(diǎn):


二:在實(shí)際應(yīng)用中,我們的查詢條件語句往往會(huì)更為復(fù)雜,不僅會(huì)包含比較運(yùn)算符,還會(huì)包含邏輯運(yùn)算符,我們通常使用邏輯運(yùn)算符連接兩條或者更多的查詢子句,其一般形式為:

當(dāng)然它可以擴(kuò)展更為復(fù)雜的形式。

下面的 read 語句的 filters 參數(shù)就包含了一個(gè)名為 or 的邏輯運(yùn)算符,表示邏輯和,即“或者”的關(guān)系:

這條 read 語句的意思是:查詢所有滿足 name 字段的值等于 Layout?或者?name 字段的值等于 Animation 的?Task?數(shù)據(jù)。

如果要表示邏輯積,即“并且”的關(guān)系,則需要使用名為 and 的邏輯運(yùn)算符,語句如下:

這條 read 語句的意思是:在 Task 表中查詢所有滿足 name 字段的值等于 Layout?并且?name 字段的值等于 Animation 的數(shù)據(jù)。

name 字段的值既要等于 Layout 又要等于 Animation,這條 read 語句的執(zhí)行結(jié)果想必一定為空。

實(shí)際上 and 邏輯運(yùn)算符是可以省略的,我們經(jīng)常看到下面的 read 語句,其中的 filters 語句包含了三個(gè)查詢子句,默認(rèn)使用了 and 邏輯運(yùn)算符:


三:有了以上對 filters 參數(shù)直觀的了解,下面讓我們更全面地了解 filters 參數(shù)。

filters 參數(shù)的構(gòu)造語句至少包含一個(gè)查詢子句,其中一定包含一個(gè)比較運(yùn)算符。

filters 參數(shù)的構(gòu)造語句可能包含一個(gè)或多個(gè)邏輯運(yùn)算符,由它連接兩個(gè)以上的查詢子句。

1. ?Orchestra Python API 提供了豐富的比較運(yùn)算符,它們分別是:

開發(fā)者可以使用它們構(gòu)造條件更復(fù)雜的查詢子句,需要注意的是,less_than、greater_than 要求子句中值為數(shù)字類型,in、not_in 要求子句中值為列表類型。比如:

而 is、is_not 運(yùn)算符則要求值與字段類型一致,比如 project 字段是單一實(shí)體類型,則值應(yīng)該是實(shí)體類型,即包含 id 與 type 的字典,比如:

contains、excludes、starts_with、ends_with 要求值為字符串類型,比如:

2. Orchestra Python API 提供了兩個(gè)邏輯運(yùn)算符,它們分別是 or 和 and,在上面的例子中我們已經(jīng)有所了解,實(shí)際上利用邏輯運(yùn)算符,我們可以構(gòu)造更為復(fù)雜的 filters 語句:

這條語句表示查找滿足 project 字段等于?{"id": 1, "type": "Project"} 且 name 字段等于 Animation 的 Task 數(shù)據(jù)或者查找 name 字段等于 Layout 的 Task 數(shù)據(jù)。

3. Orchestra Python API 在查詢子句中支持使用路由路徑型字段。

路由路徑型字段一般表示為:

通過路由路徑型字段我們可以輕松地實(shí)現(xiàn)跨表查詢,比如:

這條 read 語句就表示查詢滿足以下 entity 字段條件的 Task 數(shù)據(jù),即 entity 字段指向的 Shot 數(shù)據(jù) 的 code 字段的值必須包含 001。


對我們的產(chǎn)品有興趣,請聯(lián)系我們。

對我們的職位有興趣,請聯(lián)系我們。

我們的主頁:

orchestra-technology.com

trial.orchestra-technology.com

API:

https://github.com/orchestra-technology/python-api.git

申請?jiān)囉茫?/strong>

service@orchestra-technology.com

Orchestra Python API | read 方法的 filters 參數(shù)的評論 (共 條)

分享到微博請遵守國家法律
崇信县| 葵青区| 宜昌市| 峨眉山市| 额敏县| 三台县| 青岛市| 湄潭县| 清新县| 龙川县| 天门市| 泾源县| 瓮安县| 榆社县| 临泉县| 雷州市| 民乐县| 道孚县| 苍溪县| 秦安县| 祁门县| 于都县| 鄄城县| 盐亭县| 惠安县| 沂源县| 林西县| 历史| 嘉黎县| 柞水县| 湘西| 疏勒县| 青海省| 庆云县| 莆田市| 英德市| 霍林郭勒市| 乐山市| 江北区| 迁西县| 泊头市|