在我的项目模型的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)
它似乎有用,但我想确保不会产生不良影响。那可以吗?
答案 0 :(得分:1)
我不认为这会产生任何负面影响,但另一种方法只是更新排名而不是保存整个模型。你可以这样做:
def save(self, *args, **kwargs):
super(Item, self).save(*args, **kwargs)
Item.objects.filter(pk=self.pk).update(ranking=ranking)