2017-09-21 27 views
1

我有以下model,其保存在計算基礎上,pkhash_id領域:如何排除外地在Django models.Model.save()

class MyTable(models.Model): 
    something = models.CharField(max_length=255) 
    reported = models.IntegerField(default=0, blank=True) 
    hash_id = models.CharField(max_length=32, db_index=True, unique=True, blank=True) 

    def save(self, *a, **kw): 
     super().save(*a, **kw) 
     self.hash_id = hash_fn(self.pk) 
     super().save(*a, **kw) 

在我views我有以下行一個,這應該由1遞增reported字段,然而reported加2,因爲重寫的save方法:

my_table_ins.reported = F('reported') + 1 
my_table_ins.save() 

Ideall Ÿ我想在電線之間的東西:

def save(self, *a, **kw): 
     super().save(*a, exclude=['reported'], **kw) 
     self.hash_id = hash_fn(self.pk) 
     super().save(*a, **kw) 
+0

這是之前[這裏](https://stackoverflow.com/questions/332250問00 /如何到排除-Django的模型領域-期間-A-保存) –

回答