title: Django ValidationError date format exception
body: <p>Hi I check all question about my answer and doesn't find solution. Today I change my CustomUser model and then it stop works. I think, I failed one thing, when django ask me about default value to datefield and I add "" (empty string), but I not sure.<br>
  I tried to delete all db tables and migrate again, tried delete all migrations and still don't work<br>
  My model:  </p>
  
  <pre><code>  class UserManager(BaseUserManager):
  
      def create_user(self, username, email, password=None):
          if not email:
              raise ValueError('You must set email ')
          if not username:
              raise ValueError('User must have username')
  
          user = self.model( username=username, 
          email=self.normalize_email(email),
          )
  
          user.set_password(password)
          user.save(using=self._db)
          return user
  
      def create_superuser(self, username, email, password):
          user = self.create_user(username=username, email=email, password=password)
          user.is_admin = True
          user.is_superuser = True
          user.save(using=self._db)
          return user
  
   class CustomUser(AbstractBaseUser, PermissionsMixin):
  
      alphanumeric = RegexValidator(r'^[0-9a-zA-Z]*$', message='Only alphanumeric characters are allowed.')
  
      username = models.CharField(unique=True, max_length=30, validators= [alphanumeric])
  
      email = models.EmailField(
          'Email',
          max_length=255,
          unique=True,
          db_index=True
          )
      avatar = models.ImageField(
          'Avatar',
          blank=True,
          upload_to='user/avatar',
          default='user/default.jpg'
          )
      firstname = models.CharField(
          'First name',
          max_length=40,
          blank=True,
          )
      lastname = models.CharField(
          'Last name',
          max_length=40,
          blank=True,
          )
      date_of_birth = models.DateField(
          'Date of birth',
          null=True,
          blank=True,
          )
      register_date = models.DateField(
          'Register date',
          auto_now_add=True,
          null=True,
          blank=True,
          )
      is_active = models.BooleanField(
          'Active',
          default=True
          )
      is_admin = models.BooleanField(
          'Superuser',
          default=False
          )
  
      def age(self):
          x = date.today()
          if self.date_of_birth.year is None:
              return ''
          else:
              return x.year - self.date_of_birth.year     
  
      @property
      def is_staff(self):
          return self.is_admin
  
      def get_short_name(self):
          return self.email
  
      def __str__(self):
          return self.email
  
      def has_perm(self, perm, obj=None):
          return True
  
      def has_module_perms(self, app_label):
          return True
  
      USERNAME_FIELD = 'email'
      REQUIRED_FIELDS = ['username']
  
      objects = UserManager()
  
      class Meta:
          verbose_name = 'User'
          verbose_name_plural = 'Users'
  </code></pre>
  
  <p>my server log:<br>
  Running migrations:</p>
  
  <pre><code> Rendering model states... DONE
    Applying admin.0001_initial... OK
    Applying sessions.0001_initial... OK
    Applying users.0008_auto_20151104_1042...Traceback (most recent call last):
    File "manage.py", line 10, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
      utility.execute()
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/core/management/base.py", line 393, in run_from_argv
      self.execute(*args, **cmd_options)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/core/management/base.py", line 444, in execute
      output = self.handle(*args, **options)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 222, in handle
      executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/migrations/executor.py", line 110, in migrate
      self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/migrations/executor.py", line 148, in apply_migration
      state = migration.apply(state, schema_editor)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/migrations/migration.py", line 115, in apply
      operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/migrations/operations/fields.py", line 201, in database_forwards
      schema_editor.alter_field(from_model, from_field, to_field)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 484, in alter_field
      old_db_params, new_db_params, strict)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 567, in _alter_field
      new_default = self.effective_default(new_field)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 211, in effective_default
      default = field.get_db_prep_save(default, self.connection)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 710, in get_db_prep_save
      prepared=False)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 1322, in get_db_prep_value
      value = self.get_prep_value(value)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 1317, in get_prep_value
      return self.to_python(value)
    File "/home/ivan/diabetes_django/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 1287, in to_python
      params={'value': value},
  django.core.exceptions.ValidationError: ["'' value has an invalid date format. It must be in YYYY-MM-DD format."]
  </code></pre>