sqlalchemy ブランチで Eve を使用して REST API を開発しています。
リクエストがデータベースに送信される前に GET リクエストにフィルタを追加したいのですが、これを行う方法がまだ見つかりません。
私がやりたいことは基本的にこれです:
from sqlalchemy import or_
def pre_GET(resource, request, lookup):
lookup.append(_or('field1'==1, 'field2'==2))
もちろん、ルックアップは辞書であるため、これは機能しません。ただし、前夜のソースコードを検索しても、OR を実現する可能性はありません。ルックアップ変数は、次のファイルの parse_dictionary() で解析されます: https://github.com/nicolaiarocci/eve/blob/sqlalchemy/eve/io/sql/parser.py
MongoDB を使用する場合の対応する方法は次のとおりです。
lookup['$or'] = [{'field1': 1}, {'field2': 2}]
ただし、これはMongoDBでのみ機能します...