Есть модель товар
class Product(models.Model):
category = models.ForeignKey(Category, verbose_name = "Категория товара", related_name = "products", blank = True, null = True)
active = models.BooleanField(verbose_name = "Активный товар", default = True)
slug = models.SlugField(verbose_name = "Слаг", default = "", null = False, blank = False, unique = True, max_length = 300, help_text = "используется для генерации URL")
title = models.CharField(verbose_name = "Наименование", null = True, blank = False, max_length = 300)
И модель единиц измерения
class UnitsProduct(models.Model):
product = models.ForeignKey(Product, default = "", null = True, blank = True, related_name = "units")
unit = models.IntegerField(verbose_name = "Единица измерения", default = 0, choices = unit_choice)
count = models.FloatField(verbose_name = "Количество", default = 1, null = False, blank = False)
При переопределении метода save в товаре изменяем какое-либо поле в модели единицы измерения
Например:
def save(self, *args, **kwargs):
super(Product, self).save(*args, **kwargs)
for un in self.units:
un.count = 0
un.save()
И этот метод срабатывает через раз, иногда обнуляет количество,а иногда нет, как такое может происходить? Пробовал тоже самое через сигналы - результат аналогичный, не понимаю в чем может быть дело...