Как насчет использования этого вместо?
class Product(mymodels.Base):
title = models.CharField()
price = models.DecimalField(max_digits=10, decimal_places=3)
tax = models.DecimalField(max_digits=10, decimal_places=3)
promo_price = models.DecimalField(max_digits=10, decimal_places=3)
promo_tax = models.DecimalField(max_digits=10, decimal_places=3)
def price_with_tax(self):
return self.price + self.tax
def promo_price_with_tax(self):\
return self.promo_price + self.promo_tax\
(P.S. Tax и promo_tax могут быть хорошими кандидатами на модели ForeignKeys для TaxRate)