Функция save() в Django не вызывается с первого раза
class Basket(models.Model):
product = models.ManyToManyField(
Product,
through='BasketProduct',
related_name='basket_product',
blank=True,
verbose_name='Товар'
)
user = models.OneToOneField(CustomUser, null=False, blank=False, on_delete=models.CASCADE, related_name='basket_user', verbose_name='Покупатель')
total_price = models.IntegerField(default=1)
def update_total_price(self):
self.total_price = sum(bp.product.price * bp.quantity for bp in self.basket_products.all())
def save(self, *args, **kwargs):
self.update_total_price() # Пересчитываем общую цену перед сохранением
super().save(*args, **kwargs)
Помогите пожалуйста, когда корзина товаров изменяется, функция save() вызывается только со второго изменения и используют данные с предыдущего изменения, почему так может происходить? Прошу не судить строго.