Praful Bagai
Praful Bagai

Reputation: 17372

Django MySQL error creating tables

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

Answers (1)

serguitus
serguitus

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

Related Questions