【发布时间】:2011-01-21 13:35:11
【问题描述】:
我在 django 中遇到以下问题。我在 models.py 中有以下问题
class Proposal(models.Model):
#whatever....
credit =models.FloatField(null=True, blank=True)
def save():
#here credit is saved based on some calculation (succesfully)
class Author(models.Model):
#whatever....
balance = models.FloatField(null=True,blank=True)
proposal = models.ManyToManyField(Proposal,null=True,blank=True)
def save(self, force_insert=False, force_update=True):
to_add = sum(self.proposal.all().values_list('credit',flat=True)) # a sum of credits
self.balance = self.balance + to_add # or F(self.balance) + to_add, anyway
try:
super(Author, self).save(force_insert, force_update)
except IntegrityError:
super(Author, self).save(force_insert=True, force_update=False)
所以我从管理员和作者内部创建了一个提案,我“保存”提案对象,好的,信用成功保存,然后我保存作者,但没有更新余额。如果我重新保存作者对象,就会发生这种情况..
有什么建议吗?
【问题讨论】:
标签: django django-models