Untitled
unknown
actionscript
2 years ago
1.5 kB
6
Indexable
""" Есть табличка, в которой храним историю балансов номеров телефонов. Актуальный баланс номера содержится в записи с is_current=True При изменении баланса номера мы создаем новую запись, с is_current=True, а у старой записи ставим is_current=False Нужно написать функцию, которая увеличит баланс номера на определенную величину. """ class BalanceHistory(models.Model): number = models.CharField( verbose_name="Номер") value = models.DecimalField(verbose_name="Значение") is_current = models.BooleanField(default=False, verbose_name="True для актуального баланса") @classmethod def change_balance(cls, number, value_diff): q = BalanceHistory.objects.filter(number=number, is_corrent=True) if q: q.value += value_diff """ Пример: id number value is_current 3 9091111111 100 False 2 9091111111 200 True 1 9092222222 50 True """ BalanceHistory.change_balance(9091111111, 300) """ Стало id number value is_current 4 9091111111 500 True 3 9091111111 100 False 2 9091111111 200 False 1 9092222222 50 True """
Editor is loading...