title: django.db.utils.OperationalError: table "blog_post" already exists
body: <p>I'm creating a blog using Django and anytime I run <code>manage.py migrate</code>, I get the error below:</p>
  
  <pre><code>(venv) (C:\Users\KOLAPO\Anaconda3) C:\Programming\Websites\shelteratyourcrossroads\shelteratyourcrossroads&gt;manage.py migrate
  Operations to perform:
    Apply all migrations: admin, auth, blog, contenttypes, sessions, sites, taggit
  Running migrations:
    Applying blog.0001_initial...Traceback (most recent call last):
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\utils.py", line 62, in execute
      return self.cursor.execute(sql)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 335, in execute
      return Database.Cursor.execute(self, query)
  sqlite3.OperationalError: table "blog_post" already exists
  
  The above exception was the direct cause of the following exception:
  
  Traceback (most recent call last):
    File "C:\Programming\Websites\shelteratyourcrossroads\shelteratyourcrossroads\manage.py", line 22, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\core\management\__init__.py", line 367, in execute_from_command_line
      utility.execute()
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\core\management\__init__.py", line 359, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\core\management\base.py", line 294, in run_from_argv
      self.execute(*args, **cmd_options)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\core\management\base.py", line 345, in execute
      output = self.handle(*args, **options)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\core\management\commands\migrate.py", line 204, in handle
      fake_initial=fake_initial,
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\migrations\executor.py", line 115, in migrate
      state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\migrations\executor.py", line 145, in _migrate_all_forwards
      state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\migrations\executor.py", line 244, in apply_migration
      state = migration.apply(state, schema_editor)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\migrations\migration.py", line 129, in apply
      operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\migrations\operations\models.py", line 96, in database_forwards
      schema_editor.create_model(model)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\base\schema.py", line 295, in create_model
      self.execute(sql, params or None)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\base\schema.py", line 112, in execute
      cursor.execute(sql, params)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\utils.py", line 79, in execute
      return super(CursorDebugWrapper, self).execute(sql, params)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\utils.py", line 64, in execute
      return self.cursor.execute(sql, params)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\utils.py", line 94, in __exit__
      six.reraise(dj_exc_type, dj_exc_value, traceback)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\utils\six.py", line 685, in reraise
      raise value.with_traceback(tb)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\utils.py", line 62, in execute
      return self.cursor.execute(sql)
    File "C:\Programming\Websites\shelteratyourcrossroads\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 335, in execute
      return Database.Cursor.execute(self, query)
  django.db.utils.OperationalError: table "blog_post" already exists
  </code></pre>
  
  <p>Here's everything in my <code>models.py</code> file:</p>
  
  <pre><code>from django.db import models
  from django.utils import timezone
  from django.core.urlresolvers import reverse
  from django.contrib.auth.models import User
  from django.conf import settings
  from django.db.models.signals import post_save
  from django.dispatch import receiver
  from taggit.managers import TaggableManager
  from ckeditor_uploader.fields import RichTextUploadingField
  
  class PublishedManager(models.Manager):
      def get_queryset(self):
          return super(PublishedManager, 
              self).get_queryset().filter(status='published')
  
  class Post(models.Model):
      STATUS_CHOICES = (
          ('draft', 'Draft'),
          ('published', 'Published'),
      )
      title = models.CharField(max_length=250)
      subtitle = models.TextField()
      slug = models.SlugField(max_length=250, unique_for_date='publish')
      author = models.ForeignKey(User, related_name='blog_posts')
      image = models.ImageField(upload_to='posts/%Y/%m/%d', blank=True)
      # body = models.TextField()
      body = RichTextUploadingField()
      publish = models.DateTimeField(default=timezone.now)
      created = models.DateTimeField(auto_now_add=True)
      updated = models.DateTimeField(auto_now=True)
      tags = TaggableManager()
      status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')
  
      class Meta:
          ordering = ('-publish',)
  
      def __str__(self):
          return self.title
  
      def get_absolute_url(self):
          return reverse('post_detail', args=[
              self.publish.year, self.publish.strftime('%m'),
              self.publish.strftime('%d'), self.slug])
  
      objects = models.Manager() # default manager
      published = PublishedManager() # custom manager
  
  class Profile(models.Model):
      user = models.OneToOneField(settings.AUTH_USER_MODEL)
      image = models.ImageField(upload_to='users/%Y/%m/%d', null=True, blank=True)
  
  @receiver(post_save, sender=User)
  def create_user_profile(sender, instance, created, **kwargs):
      if created:
          Profile.objects.create(user=instance)
  
  @receiver(post_save, sender=User)
  def save_user_profile(sender, instance, **kwargs):
      instance.profile.save()
  
      def __str__(self):
          return 'Profile for user {}'.format(self.user.username)
  
  class Feedback(models.Model):
      name = models.CharField(max_length=200, help_text="name of sender")
      email = models.EmailField(max_length=200)
      subject = models.CharField(max_length=200)
      message = models.TextField()
      date = models.DateTimeField(auto_now_add=True)
  
      class Meta:
          verbose_name_plural = "Feedback"
  
      def __str__(self):
          return (self.name, "-", self.email)
  </code></pre>
  
  <p>I'm stuck on that error. How do I fix it please?</p>