def __get__(self, obj, type=None):
        if obj is None:
            return self
        value = obj.__dict__.get(self.__name__, _missing)
        if value is _missing:
            value = self.func(obj)
        obj.__dict__[self.__name__] = value
        return value
Check if discount exists and is valid.
dataset/ETHPy150Open evennia/evennia/evennia/utils/utils.py/lazy_property.__get__--crossover with--dataset/ETHPy150Open dokterbob/satchmo/satchmo/apps/payment/forms.py/PaymentContactInfoForm.clean_discount