Вычисление входного значения и сохранение его в базе данных django

Я хочу получить значение цены за единицу в соответствии с входным значением и сохранить его в базе данных, я не знаю, как сделать эту задачу, пожалуйста, помогите мне, plz

model.py

class Celldetail(models.Model):
    CellInvoiceNo = models.IntegerField(null=True, blank=True)
    Cell_Type = models.CharField(max_length=200, null=True)
    Cell_qty = models.DecimalField(default=0)
    Cell_price = models.DecimalField(default=0)
    Cell_PUP = models.FloatField()

views.py

def add_inventory_view(request):
    form = CellForm(request.POST or None)
    if form.is_valid():
        form.save()
    context = {
        'form': form,
    }
    return render(request, "addinventory.html", context)

Переопределите функцию save() вашей модели:

class CellDetail(models.Model): # note Pascal case
   ...

   def save(self, *args, **kwargs):
      self.Cell_PUP = self.Cell_price / self.Cell_qty
      super(CellDetail, self).save(*args, **kwargs)

Я бы рекомендовал переименовать ваши поля, чтобы они были более понятными, убрать ненужный префикс и использовать змеиный регистр, например,

invoice_no = ...
type = ...
quantity = ...
price = ...
per_unit_price = ...
Вернуться на верх