title: Django 1.7 migration cannot serialize a class method
body: <p>I have a very basic class that looks something like the following:</p>
  
  <pre><code>class Car(Model):
  
      name = CharField(max_length=255, unique=True)
  
      @classmethod
      def create_simple_examples(cls):
          for c in ['Sedan', 'Coupe', 'Van', 'SUV']:
              cls.objects.get_or_create(name=c)
  
      @classmethod
      def get_default(cls):
          c, _ = cls.objects.get_or_create(name='Sedan')
          return c
  
      def __unicode__(self):
          return self.name
  </code></pre>
  
  <p>I am trying to add it to a django app.  I have the two class methods to 1. a function to populate the table quickly, and 2. to grab a default one which will be used often.</p>
  
  <p>When I run</p>
  
  <pre><code>python manage.py makemigrations myapp
  </code></pre>
  
  <p>I get the following error</p>
  
  <pre><code>ValueError: Cannot serialize: &lt;bound method ModelBase.get_default of &lt;class 'crunch.django.myapp.models.Car'&gt;&gt;
  </code></pre>
  
  <p>I am not quite sure why it's trying to serialize my <code>get_default</code> function as that's not really part of the migration of the table itself.  Any help would be greatly appreciated</p>
  
  <p><strong>UPDATE</strong> I think I may have found the source of the problem (still not sure how to fix it though...)</p>
  
  <p>I have other classes that are FKing to my new class, and the default uses my default above...something like this</p>
  
  <pre><code>class OtherClass(Model):
  
      car = ForeignKey(Car, default=Car.get_default)
  </code></pre>
  
  <p>It looks like the migration is trying to serialize the function because of this.  Any tips on how to get around this?</p>