On Apr 23, 3:27 pm, Jim N <jim.nach...@gmail.com> wrote: > Hi, > > I have overridden the default save() on a model so that I can update > some counts every time a save occurs. Unfortunately, I don't want to > perform these actions every time the model is updated, which seems to > happen. > > Is there another approach I can take that distinguishes between save > and update? > > class Answer(models.Model): > answer = models.TextField() > user = models.ForeignKey(User, null=True) > submit_date = models.DateTimeField('Date Submitted', > default=datetime.datetime.now) > question = models.ForeignKey(Question) > permalink = models.CharField(max_length=300, blank=True) > > def save(self, *args, **kwargs): > super(Answer, self).save(*args, **kwargs) # Call the "real" > save() method. > if(self.user): > quser = self.user.get_profile() > quser.increment_answers() # <-- I don't want to do this > on an update. > self.question.increment_responses() # <-- I don't want to > do this either. > > Or in more readable form:http://dpaste.de/I2IR/ >
Before you call super you can see if bool(self.pk) is True or False. It will be False before the first save. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.