title: Django Migrate : TypeError: int() argument must be a string or a number, not 'User'
body: <p>I have applied some changes to the model.py and when I applied <code>makemigrations</code> it worked fine. But after that, the <code>migrate</code> command gives the following error. </p>
  
  <p><code>TypeError: int() argument must be a string or a number, not 'User'
  </code>
  Here is the Traceback:</p>
  
  <pre><code>Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages
  Apply all migrations: admin, mess, contenttypes, auth, sessions
  Synchronizing apps without migrations:
  Creating tables...
  Running deferred SQL...
  Installing custom SQL...
  Running migrations:
  Rendering model states... DONE
  Applying mess.0003_auto_20150821_1912...Traceback (most recent call last):
  File "manage.py", line 10, in &lt;module&gt;
  execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
  utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 330, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 393, in run_from_argv
  self.execute(*args, **cmd_options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
  output = self.handle(*args, **options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 221, in handle
  executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 110, in migrate
  self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 148, in apply_migration
  state = migration.apply(state, schema_editor)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/migration.py", line 115, in apply
  operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/operations/fields.py", line 62, in database_forwards
  field,
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/schema.py", line 179, in add_field
  self._remake_table(model, create_fields=[field])
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/schema.py", line 77, in _remake_table
  self.effective_default(field)
  File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/schema.py", line 211, in effective_default
  default = field.get_db_prep_save(default, self.connection)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 1956, in get_db_prep_save
  return self.related_field.get_db_prep_save(value, connection=connection)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 710, in get_db_prep_save
  prepared=False)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 977, in get_db_prep_value
  value = self.get_prep_value(value)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 985, in get_prep_value
  return int(value)
  TypeError: int() argument must be a string or a number, not 'User'
  </code></pre>
  
  <p>Here is my <code>models.py</code>:</p>
  
  <pre><code>from django.db import models
  from django import forms
  from django.contrib.auth.models import User as auth_user 
  class Student(models.Model):
      user = models.OneToOneField(auth_user) #rollno
      rollno = models.IntegerField()
      password = models.CharField(max_length=50)
      fullname = models.CharField(max_length=200)
      email = models.EmailField()
  
  
  class Banking(models.Model):
  
      student = models.OneToOneField(Student)
      breakfastcount = models.IntegerField(default=0)
      lunchcount  = models.IntegerField(default=0)
      dinnercount = models.IntegerField(default=0)
  
  class Meal(models.Model):
      mealname=models.CharField(max_length=20)
      mealcost=models.IntegerField(default=0)
      MEALS = (('BREAKFAST','Break Fast'),
               ('LUNCH','Lunch'),
               ('DINNER','Dinner'))
  class Booking(models.Model):
       student=models.OneToOneField(Student)
       date = models.DateField( editable=True )
       meal=models.CharField(max_length = 20, choices=MEALS)
  </code></pre>
  
  <p>Can anybody help me with this <code>TypeError</code> ?</p>
  
  <p>Thanks in advance.</p>