Reputation: 17372
I've a similar problem as this ticket raised on Django forum. How do I solve this issue??
I also have a User model extended, as follow:-
class Profile(models.Model):
street_address = models.CharField(max_length=80, blank=True, null=True)
city = models.CharField(max_length=80, blank=True, null=True)
state = models.CharField(max_length=80, blank=True, null=True)
zip = models.CharField(max_length=30, blank=True, null=True)
country = models.CharField(max_length=50, blank=True, null=True)
phone = models.CharField(max_length=50, blank=True, null=True)
birth = models.DateField(blank=True, null=True)
photo = models.ImageField(upload_to='media')
user = models.OneToOneField(User,primary_key=True)
But I dont think the problem is with the model, because even if I remove the app containing the model from the INSTALLED_APPS
list, and run the manage.py migrate
command, it still throws the same errors, ie
django.db.utils.OperationalError: (1005, "Can't create table 'db.#sql-456_113' (errno: 150)")
Without including any of the apps, it works fine. Any lead will be really helpful.
Upvotes: 3
Views: 1911
Reputation: 526
Check the storage engine of your db tables. As refered here old MySQL used MyISAM which is incompatible with actual InnoDB storage engine. so, if your db has different storage engines for different tables and you try to make a Foreign Key, you will probably find this error. At least, this was my case :) hope this helps someone
Upvotes: 2