我正在创建一个Web应用程序,用于为机器或设备创建投标/报价。我有一个QuotationItem
具有以下属性的模型:
在我的models.py中:
class QuotationItem(models.Model):
product = models.Charfield(max_length=30)
quantity = models.PositiveIntegerField(default=1)
description = models.CharField(max_length=200, null=True)
line_number = models.PositiveIntegerField()
tagging = models.CharField(max_length=50)
现在,我想连接2个属性(line_number和标签)。例:
line_number = 1,
tagging = "Equipment - 1"
line_number = 2,
tagging = "Equipment - 2"
简而言之,我想将tagging
属性设置为默认值f"Equipment - {line_number}"
我期望的一部分request.data
是line_number
,因此tagging
,如果未提供任何默认值,我希望使其具有默认值以上的值。有没有办法在模型中做到这一点?还是应该在视图中处理?
在字段定义中使用的默认值(即使在使用可调用对象时)也无法访问该实例。您将不得不覆盖save
或连接到pre_save
信号:
class QuotationItem(models.Model):
# ...
def save(self, *args, **kwargs):
if not self.pk: # initial creation
self.tagging = f"Equipment - {self.line_number}"
super().save(*args, **kwargs)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句