我在设置默认字段值时遇到问题。我想做的事?
我希望 Packages 类中的价格成为 Bill 类中 PriceNoTax 的默认值。正如你所看到的,所有三个类都是
逻辑上有联系的。
示例:账户 1 有一个 id 为 1 的包裹。该包裹的价格为 100。账户 1 的priceNoTax 默认值为 100。
怎么做?我对此比较陌生,所以我需要帮助。
模型.py
class Packages(models.Model):
#other fields
price = models.IntegerField(validators=[MinValueValidator(1)], verbose_name="Price of package")
class Account(models.Model):
startDate = models.DateField(verbose_name="Start date")
finishDate = models.DateField(verbose_name="Finish date")
idPackage = models.ForeignKey(Packages, on_delete=models.CASCADE, verbose_name="Package")
class Bill(models.Model):
date = models.DateField(default=datetime.now())
tax = models.FloatField(default=0.20)
priceNoTax = models.IntegerField()
priceTax = models.FloatField(default=priceNoTax+(priceNoTax*tax))
idAccount = models.ForeignKey(Account, on_delete=models.CASCADE, verbose_name="Account")
def __str__(self):
return self.date
多谢!!!
也许将其添加到您的 Bill 课程中?
def save(self, *args, **kwargs):
if self.priceNoTax is None:
self.priceNoTax = self.idAccount.idPackage.price
super(Bill, self).save(*args, **kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)