我正在使用 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)
它工作得很好,但每当我尝试添加到此然后运行服务器时,我都会得到
操作错误:没有这样的列[添加的元素]
例如我添加了founder = models.CharField(max_length=200, blank=True)
我运行了程序,得到了
django.db.utils.OperationalError:没有这样的列:company_company.Founder
在控制台中运行以下命令:
manage.py makemigrations app_name
manage.py migrate app_name
每次在应用程序中更改模型时,都应该使用 makemigration 和 migrate 命令将更改迁移到数据库。当您向数据库表添加新列时,您必须将该列的值添加到所有现有行。您可以通过在模型的新字段中设置默认值来完成此操作。
或者在运行 migrate 命令时设置值( django 自动建议这个)
您可以在以下位置阅读有关此内容的内容docs https://docs.djangoproject.com/en/1.8/topics/migrations/#data-migrations
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)