文字列のリストと、リスト内のすべての文字列の組み合わせまたは組み合わせに基づくクエリを取得しようとしています。このようなことが以下でできるかどうか知りたいです。
def filters(self,filter_company = ["DPL"]):
print "TEST"
# Company Filter
company_conj = 1 ## Bitwise 1 with AND will not effect other AND bits
for c in filter_company:
company_conj = (company_conj) & (Exception.company == c) ## Create co
qrty_exceptions = session.query(Exception).filter(company_conj) ## Query by conjunction
したがって、基本的には、リスト内の各項目を繰り返し処理し、連結して接続詞を作成しようとしています。ポイントは、リストに含まれる項目の数がわからないということです...しかし、論理的にビットごとに論理積を付けて、それらがすべて結合を形成するようにしたいのです。次のエラーが発生します。
TypeError: &: 'int' および BinaryExpression のサポートされていないオペランド型
実際には、ビットごとの OR 記号を使用してこれを記述するつもりはありません... "|" しかし、ANDでそれを行うことができれば、ORでも機能するはずです。