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
def filter_sales(qs, _, value): if value: sales = get_nodes(value, discount_types.Sale) qs = filter_by_include_ids(qs, sales, "sale") return qs
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
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