Функция 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() вызывается только со второго изменения и используют данные с предыдущего изменения, почему так может происходить? Прошу не судить строго.

Вернуться на верх