I\'ve run into the same issue presented by the commenter here: Django South - table already exists
There was no follow-up, so I thought I\'d post a new question. I h
Something else to keep an eye out for: you will often get this error (DatabaseError: no such column: appname_model.fieldname) if you are using a default value in a ForeignKey relation, and you add a field to that FK model.
Something like (in your models.py):
class MyAppModel(models.Model):
my_foreign_key = models.ForeignKey(FkModel,
default=lambda: FkModel.objects.get(id=1),
null=True)
Then in a new migration, you add a new field to your FkModel:
class FkModel(models.Model):
new_field = models.IntegerField('New Field Name', blank=True, null=True)
You will get an error when running a South schemamigration:
DatabaseError: no such column: myappmodel_fkmodel.new_field
You can solve this by making sure your initial South migration includes this default value lambda function, but then remove the default value in the next migration.
This has bitten me in the past. Hopefully it will help someone in the future.