@trickster2019

Как сложить значение полей в Django?

Пишу API на Django Rest Framework и столкнулся с проблемой.
Есть 3 модели
таблица 1
class table1 (models.Model):
    Name = models.TextField(null=True)
    Price = models.IntegerField(null=True)

таблица 2
class table2 (models.Model):
    Name = models.TextField(null=True)
    Price = models.IntegerField(null=True)

таблица 3
class table3 (models.Model):
    table1= models.ForeignKey("table1", on_delete=models.PROTECT, null=True)
    table2=models.ForeignKey("table2", on_delete=models.PROTECT, null=True)
    sum_table =

как сделать так чтобы поле "sum_table" хранило значение суммы полей Price из таблицы table1 и table2?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Хранить не надо...
class Table3 (models.Model):
      ...

     @property
     def sum_table(self):
         # TODO: обыграть еще случаи когда сами прайсы None - мне лень...
         if self.table1 is None or self.table2 is None:
              return None
         return self.table1.price + self.table2.price
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bacon
sum_table это тоже IntegerField, которое вычисляет в save или в сигналах, либо вообще в запросе, тогда не нужно его описывать в модели
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы