我正在使用django 1.8,添加models.py时遇到问题。目前是:
from django.db import models
# Create your models here.
class Company(models.Model):
role = models.CharField(max_length=32, blank=True)
name = models.CharField(max_length=70, blank=True)
它工作得很好,但是每当我试图添加到这个文件中,然后运行服务器时
OperationalError: no such column [added element]
例如,我添加了founder = models.CharField(max_length=200, blank=True)
,然后运行程序,得到
django.db.utils.OperationalError: no such column: companies_company.founder
必须使用python manage.py makemigrations重新同步数据库
当运行
makemigrations
时,在某些其他文件(例如forms.py
或views.py
中的model字段上执行某些操作,而不是models.py
)时,会发生此类问题。如果您仔细阅读回溯,您可以找出问题是从哪个文件引起的。例如,如果回溯在
forms.py
中告诉您一些可能碰巧使用某些模型字段的投诉,只需注释掉正在处理模型字段的代码,然后再次运行makemigrations
。希望它能解决这个问题。如果是,则可以删除以前添加的注释。
在控制台中运行以下命令:
每次在应用程序中更改模型时,都应使用makemigration和migrate命令将更改迁移到数据库。向db表中添加新列时,必须将该列的值添加到所有现有行中。可以通过在模型的新字段中设置默认值来完成此操作。 或在运行migrate命令时设置值(django会自动提出此建议) 你可以在docs里读到
相关问题 更多 >
编程相关推荐