Create a field whose value is a calculation of other fields' values

class PO(models.Model)
    qty = models.IntegerField(null=True)
    cost = models.IntegerField(null=True)
    total = qty * cost

How will I solve total = qty * cost above. I know it will cause an error, but have no idea of how to deal with this.

Answers


You can make total a property field, see the docs

class PO(models.Model)
    qty = models.IntegerField(null=True)
    cost = models.IntegerField(null=True)

    def _get_total(self):
       "Returns the total"
       return self.qty * self.cost
    total = property(_get_total)

Justin Hamades answer

class PO(models.Model)
    qty = models.IntegerField(null=True)
    cost = models.IntegerField(null=True)

    @property
    def total(self):
        return self.qty * self.cost

Need Your Help

Why does a SYN or FIN bit in a TCP segment consume a byte in the sequence number space?

networking tcp protocols

I am trying to understand the rationale behind such a design. I skimmed through a few RFCs but did not find anything obvious.