Q:

How to change record of object in Django's model instantly? 

I have a class and its objects, I want when I save new record, Django checks if "is_it_true" is False or True, if it was True then it change the default value of "number" to a new value which is corresponded to count of objects which have "is_it_question" plus one; and if it was false, the default of "number" remain to its defaut(100).  What should I do? 
class TypeFourChoice(models. Model):
    question_choice = models. ForeignKey(TypeFour)
    is_it_question = models. BooleanField(default=False)
    number = models. PositiveIntegerField(blank=False, default=100)
    word_or_words = models. CharField(default='', blank=False, max_length=20)
    timestamp = models. DateTimeField(auto_now_add=True)

    def __str__(self):
        return "{}".format(self.question_choice)

    @classmethod
    def save(cls, *args, **kwargs):
        no = cls.objects.exclude(number=100).count()
        if no is None:
            pass
        else:
            clss = cls.objects.get(???????) 
            if clss.is_it_question:
                no += 1
                clss.number = no
                clss.save(*args, **kwargs)
            else:
                clss.number = 100
                clss.save(*args, **kwargs)

A:

You should remove the @classmethod decorator from the save() method.   And simplify the method to this:
def save(self, *args, **kwargs):
    # New objects have no `pk`
    if self.pk is None and self.is_it_question:
        self.number = TypeFourChoice.objects.filter(is_it_question=True) \
                                            .count() + 1
    super(TypeFourChoice, self).save(*args, **kwargs)

