Chaining FilterExpressions
Open
@phanak-sap is already working on this.
Since Sep 20, 2024.
bug
- Dominant language
- Python
- Stars
- 268
- Forks
- 100
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
Trying to follow this PR: https://github.com/SAP/python-pyodata/pull/113
love this change, very good implementation but am having some problems chaining AND and OR operators together.
item = {
"id": 1,
"name": 'item name',
"description": "foo-bar",
"city": "1000",
}
# Query should look like this:
term="foo" # search by string term on two fields - OR on name and description
city=1000 # AND search only those with city = 1000
get_entities().filter(Q(name__contains="foo") | Q(description__contains="foo"), city="1000")
# It does this:
{'$filter': ["city eq '1000' and (substringof('foo', name) eq true) or (substringof('foo', description) eq true)"]}
But it needs another ( ) around substring filters to fetch correct items.
Is this possible using these filters?
Many thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.