我在Python中使用了幾個過濾器中的以下代碼。然後我有一個循環,每個都調用.filter。但是,當你調用多個過濾器時,這些都是與。我怎樣才能改變它,以便對過濾器的多個調用進行「或」運算。問題出在我的代碼的「其他」部分。如何在Python中使用多個過濾器調用
for filter_ in filters:
field_models = {'type': ProductType, 'category': ProductCategory}
if filter_['field'] in field_models:
model = field_models[filter_['field']]
organizations_products = organizations_products.join(model).filter(or_(
model.code.ilike('%{}%'.format(escape_like(filter_['value']))),
model.description.ilike('%{}%'.format(escape_like(filter_['value'])))
))
else:
field = getattr(Product, filter_['field'])
organizations_products = organizations_products.filter(
field.ilike('%{}%'.format(escape_like(filter_['value']))))
這是非常有用的代碼,可以幫助我學習更靈活的方法。 – Ray