Skip to content

Allow more complex filtering in Filter class #152

Open
@oddaspa

Description

@oddaspa

Is your feature request related to a problem? Please describe.
Creating filters with AND / OR clauses is tedious. Current solution:

site_filter = query.Filter(
    fields={"labels.site": query.Equal(value="Trondheim")}
)

unit_filter = query.Filter(
    fields={"labels.unit": query.Equal(value="Jarleveien")}
)

and_filter = site_filter & unit_filter
or_filter = site_filter | unit_filter

Describe the solution you'd like
AND filters could be the default, and give an optional parameter for OR

and_filter = query.Filter(
    fields={
        "labels.unit": query.Equal(value="Jarleveien"),
        "labels.site": query.Equal(value="Trondheim")
    }
)

or_filter = query.Filter(
    fields={
        "labels.unit": query.Equal(value="Jarleveien"),
        "labels.site": query.Equal(value="Trondheim")
    }, or=True
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions