Пример #1
0
def filter_categories(qs, _, value):
    if value:
        categories = get_nodes(value, categories_types.Category)
        categories = [
            category.get_descendants(include_self=True)
            for category in categories
        ]
        ids = {category.id for tree in categories for category in tree}
        qs = filter_by_include_ids(qs, ids, "category")
    return qs
Пример #2
0
def filter_sales(qs, _, value):
    if value:
        sales = get_nodes(value, discount_types.Sale)
        qs = filter_by_include_ids(qs, sales, "sale")
    return qs
Пример #3
0
def filter_not_in_vouchers(qs, _, value):
    if value:
        vouchers = get_nodes(value, discount_types.Voucher)
        qs = filter_by_exclude_ids(qs, vouchers, "voucher")
    return qs
Пример #4
0
def filter_not_in_collections(qs, _, value):
    if value:
        collections = get_nodes(value, collections_types.Collection)
        qs = filter_by_exclude_ids(qs, collections, "collections")
    return qs