Как установить значение поля модели 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()
или вы можете сделать это с помощью СИГНАЛОВ, и это простой учебник для этого, но будьте осторожны с сигналами: Нажмите сюда