title: Override default User model method
body: <p>I've been trying to override the default <code>__unicode__()</code> method for the django.contrib.auth.models User model but I can't get it to work.</p>
  
  <p>I tried it like this:</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User
  
  class User(models.Model):
          def __unicode__(self):
              return "pie"
  </code></pre>
  
  <p>and</p>
  
  <pre><code>from django.db import models
  from django.contrib.auth.models import User
  
  class User(User):
          def __unicode__(self):
              return "pie"
  </code></pre>
  
  <p>but it's not working, I know it's wrong like that but I have no idea how to do it properly.</p>
  
  <p>All I want it to do is to say "pie" instead of the user name inside the admin panel.</p>
  
  <p>edit:</p>
  
  <p>Managed to do it like this:</p>
  
  <pre><code>class MyUser(User):
      class Meta:
          proxy = True
  
      def __unicode__(self):
          if self.get_full_name() == '':
              return "pie"
          else:
              return self.get_full_name()
  </code></pre>
  
  <p>I used the MyUser class when making ForeignKey references, instead of User.</p>