乘以Integerfield的内容

时间:2014-10-31 00:17:26

标签: python django django-models field

我想乘以" * 2"我" stock"的内容integerfield并将结果放在名为" cards" 的其他整数字段中,然后禁用最后一个字段的版本。

我怎么能达到这个目标?

我的字段是:

class card(models.Model):   

    def thumbnail(self):
        return '<a href="/media/%s"><img src="/media/%s" width=50px heigth=50px/></a>'%(self.imagen,self.imagen)

    thumbnail.allow_tags = True 

    nombre = models.CharField(max_length=100)
    descripcion = models.TextField(max_length=300)
    status = models.BooleanField(default=True)
    imagen = models.ImageField(upload_to=url, null=True, blank=True)
        precio = models.DecimalField(max_digits=6, decimal_places=3, default=Decimal(0))
        stock = models.IntegerField(default=0)              
        categoria = models.ManyToManyField(categoryCard,null=True,blank=True)       
        cards = models.IntegerField(default=0)

    def __unicode__(self):
        return self.nombre

感谢!!!

1 个答案:

答案 0 :(得分:0)

我将尝试覆盖卡类的save()方法。

类似的东西:

class card(models.Model):
    ...

    def save():
        if not self.pk: # It's a creation, not an update
            self.cards = self.stock * 2
            super(card, self).save(*args, **kwargs)

PS:使用“Card”而不是“card”来遵守类命名约定(非常有用,特别是如果你有同名的变量^^)。