所以我有一个 PickupSchedule 模型,它有一个字段current_count
。当捐赠被提交时,current_count 会增加。当捐赠被重新安排时,它会减少,而新的路线会增加。还有一个豁免程序可以做同样的事情。为了避免重复代码,我希望执行以下操作,但它不起作用(属性错误 - 'PickupSchedule' object has no attribute 'decrease_current_count'
)。我知道我可以 += 保存表单中的字段,但我希望将它放在一个位置而不是两个单独的表单。
模型.py
class PickupSchedule(models.Model):
current_count= models.IntegerField(blank=True, default=0)
def __unicode__(self):
return self.route
def decrease_current_count(self):
self.current_count -= 1
self.save()
def increase_current_count(self):
self.current_count += 1
self.save()
forms.py 保存
def save(self,force_insert=False, force_update=False,commit=True):
donor = super(RescheduleForm,self).save(commit=False)
# Update the old route current count
old_route = self.old_route
old_route.decrease_current_count()
# Update the new route current count
new_route = PickupSchedule.objects.get(pickup_id = self.new_id)
new_route.increase_current_count()
if commit:
donor.save()
return donor