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

Я пытаюсь понять, как я могу сделать полевую модель django для автоматического заполнения путем суммирования значений полей другой модели. Например, если у меня есть модель с 2 полями (первое, второе), и я хочу автоматически суммировать их и ввести в другую модель.

введите описание изображения здесь

Прежде всего, вам нужно создать две таблицы с ForeignKey,

class Model1(models.Model):
    First = models.IntegerField()
    Second = models.IntegerField()

class Model2(models.Model):
    Model1 = models.ForeignKey(Model1, on_delete=models.SET_NULL)
    Sum = models.IntegerField()

тогда вы можете сделать это с помощью обычных представлений следующим образом :

def saveSum(request):
    first = 5
    second = 6
    model1 = Model1(first=first,second=second)
    model1.save()
    
    #then sum the values and save it to the second model
    sum = first + second
    model2 = Model2(Model1=model1,sum=sum)
    model2.save()

или вы можете сделать это с помощью СИГНАЛОВ, и это простой учебник для этого, но будьте осторожны с сигналами: Нажмите сюда

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