@paundaa

Как сделать так чтобы при обновлении одном столбце изменялись другие в django?

У меня есть четыре столбца в бд: название продукта, цена за одну упаковку, количество в упаковке(граммы) и цена за один грамм.
Как сделать так чтобы при изменении например цены за одну упаковку, изменялось автоматически и цена за одни грамм в UpdateView.
Надеюсь нормально объяснил
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
SoreMix
@SoreMix
yellow
Возможно, конечно, это не совсем правильное решение, но можно было бы переопределить метод save() у модели, добавив расчет за грамм

class Product(models.Model):
    name = models.CharField(default='', max_length=50, help_text='Название продукта')
    price = models.IntegerField(default=0, help_text='Цена за упаковку')
    grams = models.IntegerField(default=0, help_text='Количество в упаковке (грамм)')
    price_for_gram = models.IntegerField(default=0, help_text='Цена за грамм')

    def save(self, *args, **kwargs):
        self.price_for_gram = int(self.price / self.grams)
        super().save(*args, **kwargs)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы