How to enforce stock rulesΒΆ
You can enforce stock validation rules using signals. You just need to register a listener to
the BasketLine
pre_save
signal that checks the line is valid. For example:
@receiver(pre_save, sender=Line)
def handle_line_save(sender, **kwargs):
if 'instance' in kwargs:
quantity = int(kwargs['instance'].quantity)
if quantity > 4:
raise InvalidBasketLineError("You are only allowed to purchase a maximum of 4 of these")