1、Receive有Asset的外健,在领取其中一个资产的时候如何把status的值也给改变呢 ?
2、代码:
ASSET_STATUS = (
(0, u"空闲"),
(1, u"领用"),
(2, u"借用")
)
class Asset(models.Model):
id = models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')
asset_code = models.CharField(verbose_name=u'资产编码', max_length=128)
status = models.IntegerField(verbose_name=u'资产状态', choices=ASSET_STATUS, default=0)
brand = models.CharField(verbose_name=u"资产品牌", max_length=64, choices=[(i, i) for i in (
u'Apple', u"DELL", u"HP", u'Microsoft', u'联想', u'三星', u'Acer ', u'ASUS', u"Other")])
sn = models.CharField(verbose_name=u"序列号", max_length=64)
buy_date = models.DateField(verbose_name=u"购买日期")
mac_address = models.CharField(verbose_name=u"MAC地址", blank=True, null=True, max_length=64)
cpu = models.CharField(verbose_name=u"CPU型号", max_length=64, blank=True, null=True)
hard_disk = models.IntegerField(verbose_name=u"硬盘大小", blank=True, null=True)
memory = models.IntegerField(verbose_name=u"内存大小", blank=True, null=True)
system = models.CharField(verbose_name=u"预装系统", max_length=32, blank=True, null=True,
choices=[(i, i) for i in (u"CentOS", u"FreeBSD", u"Ubuntu", u"Windows", u"Mac os", u"无")])
description = models.TextField(verbose_name=u"描述", blank=True, null=True)
class Meta:
verbose_name = u"资产列表"
verbose_name_plural = verbose_name
def __str__(self):
return self.asset_name
class Receive(models.Model):
people = models.ForeignKey(User, blank=True, null=True, verbose_name=u"领用人")
asset = models.ForeignKey(Asset, verbose_name=u'资产', null=True)
collar_time = models.DateField(u"领用时间", )
operation_notes = models.TextField(u"描述", )
def __str__(self):
return str(self.people)
class Meta:
verbose_name = u'领用'
verbose_name_plural = u'领用'
3、是否能用信号的方式来实现,还是有其他更好的方法来实现,非常感谢回答者对我的解惑。
参考相关的Signals文档
http://python.usyiyi.cn/trans...
https://docs.djangoproject.co...