Skip to content

Allow more complex filtering in Filter class #152

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions