如何解决如何在Django中使用相同模型调用/引用另一个属性
我正在创建一个Web应用程序,用于为机器或设备创建投标/报价。我有一个QuotationItem
的模型,它具有以下属性:
在我的模型中。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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。