1

save我的项目模型的方法中,我需要将实例保存在数据库中,以便根据某个数量计算排名:

def save(self, *args, **kwargs):        

    super(Item, self).save(*args, **kwargs)

    # get all the Item instances, order and get the ranking of the current instance

    self.ranking = ranking

    super(Item, self).save(*args, **kwargs)

它似乎有效,但我想确保不会产生不良影响。这样做可以吗?

4

1 回答 1

1

我认为这不会产生任何负面影响,但另一种方法只是更新排名而不保存整个模型。你可以这样做:

def save(self, *args, **kwargs):
    super(Item, self).save(*args, **kwargs)


    Item.objects.filter(pk=self.pk).update(ranking=ranking)
于 2012-12-06T20:38:32.977 回答