2014-10-31 2 views
0

Я хочу умножить на «* 2» содержимое моего «целого» целого поля и поместить результат в другое целое поле под названием «cards», а затем отключить выпуск этого последнего поля.Умножьте содержимое Integerfield

Как я могу достичь этого?

Мои поля:

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 

Спасибо !!!

ответ

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: использовать «карту» вместо «карты» уважать соглашение именования классов (очень полезно, особенно если у вас есть переменные с тем же именем ^^).

+0

Отлично, спасибо !, даже если у меня есть последний вопрос, после ввода этой команды я должен добавить «cards = models.IntegerField (default = 0)», чтобы отразить это поле в моей панели администрирования или не нужно. Еще раз спасибо = D – Jhonny

+0

Извините, я никогда не играл с панелью администратора :( –

+0

ok, поэтому я могу отображать информацию о умножении в шаблоне .html с этим тегом? {{Card.cards}} – Jhonny

Смежные вопросы