Я создаю прототип приложения оценки.
Каждая модель оценки будет иметь одну или несколько моделей деталей.
Вот начало моих моделей:
class Part(models.Model):
estimate = models.ForeignKey('Estimate', on_delete=models.CASCADE)
description = models.CharField(max_length=255)
class Estimate(models.Model):
number = models.CharField(max_length=255, primary_key=True)
customer = models.CharField(max_length=255, null=True, blank=True)
description = models.CharField(max_length=255, null=True, blank=True)
price = models.IntegerField(null=True, blank=True)
stitch = models.BooleanField(null=True, blank=True)
stitch_speed = models.IntegerField(null=True, blank=True)
stitch_rate = models.IntegerField(null=True, blank=True)
boxes = models.IntegerField(null=True, blank=True)
freight = models.IntegerField(null=True, blank=True)
overall_markup = models.IntegerField(null=True, blank=True)
date_created = models.DateField(auto_now_add=True)
def __str__(self):
return self.number
У меня есть модель оценки, появляющаяся в админке с моделями деталей в StackedInline.
class PartInline(admin.StackedInline):
model = Part
extra = 1
class EstimateAdmin(admin.ModelAdmin):
model = Estimate
inlines = [PartInline]
list_display = ['number', 'description', 'customer', 'price']
В идеале, я бы пошел в администратор, создал новую оценку, заполнил ее детали и затем щелкнул Сохранить.
В конечном счете, моя модель оценки должна будет использовать данные из модели детали для выполнения расчетов перед сохранением в базе данных.Например, каждая часть будет содержать свою цену.Необходимо добавить цену к каждой Части к общей оценочной цене.
У меня возникают трудности с выяснением способа отправки данных из модели Части в модель Оценки до сохранения.
Какие-либо предложения?Существует ли стандартный способ передачи данных между моделями перед сохранением?