Python Django,如何基于foreignkey值更新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”),但给出错误“int()参数必须是字符串、类似于对象的字节或数字,而不是“Length”

我在foreignkey中有“长度”和“宽度”字段。我想在提交表单时,将“squaremeter”字段的值添加到基于所选长度和宽度计算的DB中

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