amount, ) class Meta: verbose_name = _('Bulk discount') verbose_name_plural = _('Bulk discounts') # filter function def category_product_filter(discount, queryset): """ Allow discount type to be filtered by category. """ if not discount.categories.count(): return queryset ids = [c.id for c in discount.categories.all()] return queryset.filter(models.Q(Book___categories__id__in=ids)) DiscountBase.register_product_filter(category_product_filter) #add categories field to BulkDiscount DiscountBase.add_to_class( 'categories', models.ManyToManyField( Category, verbose_name=_('Categories'), blank=True, null=True, help_text=_('Limit discount to selected categories')))
to_append = (self.get_name(), amount) cart_item.extra_price_fields.append(to_append) class Meta: verbose_name = _('Bulk discount') verbose_name_plural = _('Bulk discounts') # filter function def category_product_filter(discount, queryset): """ Allow discount type to be filtered by category. """ if not discount.categories.count(): return queryset ids = [c.id for c in discount.categories.all()] return queryset.filter(models.Q( Book___categories__id__in=ids)) DiscountBase.register_product_filter(category_product_filter) #add categories field to BulkDiscount DiscountBase.add_to_class('categories', models.ManyToManyField(Category, verbose_name=_('Categories'), blank=True, null=True, help_text=_('Limit discount to selected categories') ))