Python Django,如何基于foreignkey值更新DB?
我在模型中尝试过(使用“def save”),但给出错误“int()参数必须是字符串、类似于对象的字节或数字,而不是“Length” 我在foreignkey中有“长度”和“宽度”字段。我想在提交表单时,将“squaremeter”字段的值添加到基于所选长度和宽度计算的DB中Python Django,如何基于foreignkey值更新DB?,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我在模型中尝试过(使用“def save”),但给出错误“int()参数必须是字符串、类似于对象的字节或数字,而不是“Length” 我在foreignkey中有“长度”和“宽度”字段。我想在提交表单时,将“squaremeter”字段的值添加到基于所选长度和宽度计算的DB中 def save(self, *args, **kwargs): self.squaremeter = self.length * self.width self.squar
def save(self, *args, **kwargs):
self.squaremeter = self.length * self.width
self.squaremeter.save()
super(Product, self).save(*args, **kwargs)
两个星期以来,我一直被这个问题困扰着
更新:
class Product(models.Model):
length = models.ForeignKey(Length, on_delete=models.SET_NULL, null=True, blank=True)
width = models.ForeignKey(Width, on_delete=models.SET_NULL, null=True, blank=True)
squaremeter = models.DecimalField(max_digits=6, decimal_places=4, blank=True)
更新2:
class Length(models.Model):
value = models.PositiveSmallIntegerField(unique=True)
class Width(models.Model):
value = models.PositiveSmallIntegerField(unique=True)
像这样编辑保存方法
def save(self, *args, **kwargs):
self.squaremeter = self.length.value * self.width.value
super(Product, self).save(*args, **kwargs)
不清楚你在问什么。。。在此处发布您的模型…长度和宽度模型也..您不能将两个外键的
self.Length*self.Width
@RajaSimon相乘,但我如何才能执行此操作?必须有一种方法self.length.value*self.width.value
?