Есть ли способ передать параметры в препроцессор GET_SINGLE Flask-Restless?
Препроцессоры GET_MANY принимают встроенный search_params
словарь, но GET_SINGLE только принимают instance_id
, kw**
arg передается всем пре- и постпроцессорам, но я обнаружил, что это просто для прямой совместимости, хотя в документах Flask-Restless это несколько неясно:
Аргументы функций препроцессора и постпроцессора будут предоставлены в качестве аргументов ключевых слов, поэтому вы всегда должны добавлять **kw в качестве последнего аргумента при определении функции препроцессора или постпроцессора. Таким образом, вы можете указать только те ключевые аргументы, которые вам нужны при определении ваших функций. Кроме того, если новая версия Flask-Restless изменяет API, вы можете обновить Flask-Restless, не нарушая свой код.
Разве тогда невозможно передать параметры, кроме instance_id
препроцессору GET_SINGLE?
РЕДАКТИРОВАТЬ
Возможно, есть лучший способ сделать то, что я пытаюсь сделать: у меня есть две модели, Foo
а также Bar
, Запись в Foo
хранит в качестве одного из столбцов внешний ключ к записи в Bar
, Я хочу получить запрос GET Foo
который указывает значение для внешнего ключа, чтобы возвратить одну квазислучайную запись из набора записей в Foo
с внешним ключом запрошенного значения.
1 ответ
Как указано в @1.618, мой конкретный вариант использования лучше подходит для запроса GET_MANY, даже если я ожидаю только один элемент в ответ. Я все еще не уверен в ответе на мой первоначальный вопрос, но моя интуиция заключается в том, что нет, нет способа передать параметры в запрос GET_SINGLE, так как в Flask-restless они предназначены только для сценариев, когда запрашивается элемент по идентификатору
Решение моей конкретной проблемы состояло в том, чтобы вместо этого использовать запрос GET_MANY, который я изначально пытался, но не мог получить на работу из-за того, что неправильно манипулировал search_params
аргумент и моя путаница вокруг того, как переменные передаются в Python.