Автоматическое создание полей в Django
Существует ли способ автоматически генерировать новое поле при создании модели с внешним ключом
    class Metric(models.Model):
    name = CharField(null = True, blank = True, max_length = 200) 
    abbreviation = CharField(null = True, blank = True, max_length = 10)
    def __str__(self):
        try:
            return self.name
        except Exception as e:
            return str(e)
        
class Test(models.Model):
    name = CharField(null = True, blank = True, max_length = 200)
    metrics = ManyToManyField(Metric, null = True, blank = True)
    def __str__(self):
        try:
            return self.name
        except Exception as e:
            return str(e)
        
class TestVariable(models.Model):
    independent_variable = ForeignKey(Variable, null = True, blank = True,on_delete = models.CASCADE, related_name = "independent_variables")
    dependent_variable = ForeignKey(Variable, null = True, blank = True, on_delete = models.CASCADE, related_name = "dependent_variables")
    test = ForeignKey(Test, null = True, blank = True, on_delete = models.CASCADE)
    def __str__(self):
        try:
            return self.name
        except Exception as e:
            return str(e)
    
 Итак, если я создал новый Metric, есть ли способ автоматически добавить поле в TestVariable
 Например, если я создам поле Metric для стандартного отклонения, оно автоматически создаст поле в TestVariable, чтобы принять числовое значение стандартного отклонения.
from django.db import models
from django.contrib.postgres.fields import JSONField
class TestVariable(models.Model):
    independent_variable = models.ForeignKey(Variable, null=True, blank=True, on_delete=models.CASCADE, related_name="independent_variables")
    dependent_variable = models.ForeignKey(Variable, null=True, blank=True, on_delete=models.CASCADE, related_name="dependent_variables")
    test = models.ForeignKey(Test, null=True, blank=True, on_delete=models.CASCADE)
    metrics_data = JSONField(default=dict)  # This field can store metrics dynamically
    def __str__(self):
        return self.test.name if self.test.name else 'Unnamed TestVariable'
 При создании нового Metric можно обновить поле metrics_data в TestVariable