2015-04-06 13 views
3

GET_MANY預處理程序接受內置的search_params字典,但GET_SINGLE只接受instance_id。一個kw** ARG傳遞給所有前和後置處理,但I've found that this is just for forwards compatibility,雖然這是有些不清楚在the Flask-Restless docs有沒有辦法將params傳遞給Flask-Restless GET_SINGLE預處理器?

的預處理和後處理函數的參數將作爲關鍵字參數提供,所以你應該隨時添加**當定義預處理器或後處理器函數時,kw作爲最後的參數。這樣,您可以在定義函數時僅指定需要的關鍵字參數。此外,如果新版本的Flask-Restless更改了API,則可以更新Flask-Restless而不會破壞您的代碼。

是否無法將除instance_id以外的參數傳遞給GET_SINGLE預處理器?

編輯

也許還有更好的辦法做我想要做的事:我有兩個型號,FooBar。在Foo中的記錄將Bar中的記錄的外鍵作爲其列之一存儲。我想要一個GET請求發送到Foo,它指定一個外鍵的值,以便從Foo中的記錄集合中返回一個單一的準隨機記錄,並帶有請求值的外鍵。

+0

你需要傳遞什麼參數? –

+0

剛剛通過解釋更新了我的第一個問題。 – acannon828

+0

這聽起來像是一個搜索查詢,這意味着即使您只希望得到一個結果,也會使用GET_MANY預處理器。你可以發佈一些你的實際代碼,以及你期望的請求的樣子嗎? –

回答

1

正如@ 1.618所指出的那樣,我的特殊用例更適合GET_MANY請求,即使我只希望得到一個單一的項目。我仍然不確定最初問題的答案,但我的直覺是,不,沒有辦法將PARAMS傳遞給GET_SINGLE請求,就像在Flask-restless中一樣,它們僅用於查詢項目的場景由id。

解決我的具體問題是使用一個GET_MANY請求,而不是,這是我最初嘗試,但無法得到工作,由於我的不正確操縱search_params說法和我的困惑周邊how variables are passed in Python

相關問題