title: Can't Register New Django Model Method?
body: <p>I've created two new methods in models.py:</p>
  
  <pre><code>def test(self):
       return 'Test'
  </code></pre>
  
  <p>However, after restarting apache and wsgi, I'm unable to use the methods in templates or in command line. </p>
  
  <p>Instead I get 'Model doesn't have attribute 'test'</p>
  
  <p>Has anyone seen this issue before? How did you resolve?</p>
  
  <pre><code>class ClientAppointmentMessage(models.Model):
      # fields here
  
      class Meta:
          ordering = ['-created']
  
      def __unicode__(self):
          return self.appointment.creator.name
  
      def get_absolute_url(self):
          return '/appointment/{0}'.format(self.appointment.id)
  
      def test(self):
          return 'Test'
  </code></pre>
  
  <p>NOTES: </p>
  
  <ul>
  <li><p>Template ignores the function completely (no errors, no result)</p></li>
  <li><p>Shell throws 'ClientAppointmentMessage' has no attribute 'test'</p></li>
  <li><p>I've ensured that I'm uploading file to correct directory.</p></li>
  <li><p>I've tried '@property' above the method</p></li>
  <li><p>I've restarted apache and wsgi</p></li>
  </ul>
  
  <p>Example of shell commands:</p>
  
  <pre><code>from path.to.models import ClientAppointment, ClientAppointmentMessage
  a = ClientAppointment.objects.get(id=1)
  a.test() --&gt; AttributeError: 'ClientAppointment has no attribute 'test''
  a = ClientAppointmentMessage.objects.get(id=1)
  a.test() --&gt; AttributeError: 'ClientAppointmentMessage' has no attribute 'test'
  a = ClientAppointmentMessage()
  dir(a) --&gt; shows list of methods, not including 'test' (this occurs both as property and as regular method) 
  </code></pre>