from django.db import models
from django.contrib.auth.models import User
class Product(models.Model):
name = models.CharField(max_length = 127)
description = models.TextField()
code = models.CharField(max_length = 30)
lot_no = models.CharField(max_length = 30)
inventory = models.IntegerField()
commited = models.IntegerField()
available = models.IntegerField()
reorder = models.IntegerField()
created_date = models.DateField(auto_now_add = True)
comment_user = models.ForeignKey(User, null=True)
comment_txt = models.TextField()
def __unicode__(self):
return self.code + " - " + self.name + " - " + self.lot_no + " - " + str(self.created_date)
@property
def available(self):
return self.inventory - self.commited
当一个人输入库存数据并在 django 管理模板中提交时,我试图通过(库存 - self )计算可用。但我不确定如何。
谢谢, 乔恩
请您参考如下方法:
尝试覆盖模型上的 save 方法:
def save(self, *args, **kwargs):
"update number available on save"
self.available = self.inventory - self.committed
super(Product, self).save(*args, **kwargs)
如果 self.available 变为负值,您还可以将逻辑放入其中,以执行某些操作。
