Django Добавление нового столбца и присвоение значений на основе значений столбца другой таблицы

У меня есть 3 модели:

class Status(DjangoEnum):
   Status1 = "Status1"
   Status2 = "Status2"
   Status3 = "Status3"

class ABC(models.Model):
   user                    = models.ForeignKey(User, on_delete=models.CASCADE)
   variable_1              = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True)


class DEF(models.Model):
   abc                    = models.ForeignKey(ABC, on_delete=models.CASCADE)
   variable_2             = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True)

class GHI(models.Model):
   def                    = models.ForeignKey(DEF, on_delete=models.CASCADE)
   variable_3             = models.CharField(
                                   choices=Status.choices(),
                                   default=Status.Status1,
                                   max_length=50,
                             )

Я хочу добавить новый столбец "Текущий_Статус" (аналогичный переменной_3 в GHI) в класс ABC. Значения, которые необходимо заполнить в этом новом столбце "Текущий_Статус", основаны на значениях переменной_3 в классе GHI.

Например, предположим, что

  • Текущий_Статус(в ABC) содержит наиболее частое значение переменной_3(в GHI) среди всех записей (соответствующих всем записям DEF, связанным с текущей записью ABC).

Как добавить этот столбец, чтобы существующие записи в таблице ABC заполнялись значениями на основе переменной_3 в классе GHI?

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