Как автоматически обновить поле модели, если произошли изменения в предыдущем поле?
Я пытаюсь найти способ обновления последнего поля в модели, если есть изменения в предыдущем поле.
Например: допустим, у меня есть модель Cash Balance
Если я изменю счет 134 дебета на 50, как мне сделать так, чтобы это изменение отразилось на других балансах, следующих за ним автоматически
Вероятно, вы хотите использовать сигнал
https://docs.djangoproject.com/en/4.0/topics/signals/
from django.dispatch import receiver
@receiver(post_save, sender=CashBalance)
def update_cash_balance(sender, instance, **kwargs):
if instance.balance != instance.calculate_balance()
instance.set_balance()
Опасайтесь использования .save() внутри сигнала, потому что вы можете запустить рекурсивный цикл, поставьте проверку if-выражения, чтобы этого не произошло