tangentlabs/django-oscar — pull request #1298 by maikhoepfel (2014-06-12 14:31:55+00:00)
Title: Allow non-linear prices

Oscar defaults implementation makes assumption that the price is computed as:

```
line_price = quantity * unit price
```

That is not always a case. For example, you might want to implement bulk prices:

* 1-99 items... unit price of X
* 100-999 items... unit price of Y

This could be easily implemented by adding additional methods to Price object:

- `price_for_quantity(quantity)` (effective one)
- `price_excl_tax_for_quantity(quantity)`
- `price_incl_tax_for_quantity(quantity)`

Default implementation could reflect the current one, so it is backwards compatible.