我怎样才能 call/refer 到另一个 属性 在 django 的相同模型中
How can I call/refer to another property in the same models in django
我正在创建一个用于为机器或设备创建 proposal/quotation 的网络应用程序。我有一个 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
,因此,如果 none 是,我希望 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)
我正在创建一个用于为机器或设备创建 proposal/quotation 的网络应用程序。我有一个 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
,因此,如果 none 是,我希望 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)