title: When are model methods called in django
body: <p>I am trying to understand how model methods work. 
  Taking the following example: <a href="https://docs.djangoproject.com/en/1.8/topics/db/models/#model-methods" rel="nofollow">source here</a></p>
  
  <pre><code>from django.db import models
  
  class Person(models.Model):
      first_name = models.CharField(max_length=50)
      last_name = models.CharField(max_length=50)
      birth_date = models.DateField()
  
      def baby_boomer_status(self):
          "Returns the person's baby-boomer status."
          import datetime
          if self.birth_date &lt; datetime.date(1945, 8, 1):
              return "Pre-boomer"
          elif self.birth_date &lt; datetime.date(1965, 1, 1):
              return "Baby boomer"
          else:
              return "Post-boomer"
  </code></pre>
  
  <p>When is <code>baby_boomer_status</code> method called? </p>
  
  <p>I tried replacing <code>return</code> with <code>print</code> but the method was never called. </p>
  
  <p>How does this work? Sorry for the noob question. </p>