我有一个和 Django 论坛上 这个问题 相似的问题。我该如何解决这个问题?
我的 User 模型也被扩展了,如下所示:
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)
但我认为问题不在于模型,因为即使我从INSTALLED_APPS
列表中移除包含该模型的应用程序,并运行manage.py migrate
命令,它仍然会抛出相同的错误,即
django.db.utils.OperationalError: (1005, "Can't create table 'db.#sql-456_113' (errno: 150)")
不包括任何应用程序,它可以正常工作。任何线索都将非常有帮助。
python manage.py migrate
。 - Praful Bagaipython manage.py makemigration appname
然后是python manage.py migrate
,它可以工作。但我必须对每个应用程序都运行python manage.py makemigration appname
。如何一次性对所有应用程序进行 makemigrate? - Praful Bagaipython manage.py makemigrations
命令,它提示说“未检测到任何更改”。然后进行第二步:运行python manage.py migrate
命令,它创建了所有的表格,但在中途停止并抛出了与我在问题中指出的相同错误。 - Praful Bagaimakemigration
,然后运行migrate
是有效的。但是,这是否需要针对每个单独的应用程序进行操作呢?如果我有20-30个应用程序,那么在所有应用程序上执行makemigration
并不是一个可行的解决方案。 - Praful Bagai