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


Ответы (0 шт):