3

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.

7
  • have u used python manage.py syncdb command?? Commented Apr 4, 2015 at 15:06
  • 2
    It has been deprecated, hence not used. I directly applied python manage.py migrate. Commented Apr 4, 2015 at 15:08
  • 1
    Well, I tried python manage.py makemgration appname and then python manage.py migrate and it worked. But I have to do python manage.py makemgration appname for each and every app. How do I makemigrate all apps at once. ?? Commented Apr 4, 2015 at 15:15
  • 1
    For the very first time. I follow these steps. First step:- python manage.py makemigrations. It says No changes detected . Then second step python manage.py migrate. It creates all the tables, and halts in between throwing the same error which I've pointed out in the question. Commented Apr 5, 2015 at 14:46
  • 1
    Doing makemigration for every single app and then running migrate works for me. But then, does this needs to be done for every single app? What if I'd 20-30 apps. makemigration on all apps isnt a feasible solution. Commented Apr 5, 2015 at 14:47

1 Answer 1

2

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

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.