django 1.5 列不存在

django 1.5 column doesn't exists

当我向我的产品模型添加新字段时,它返回了这样的错误-> 'Database Error at "/admin/app/product/" column app_product.product_sold_time does not exist LINE 1: ...duct_buy", "app_product"."product_favorite_send"'

您向产品模型添加了一个新字段,但您尚未迁移数据库,这就是您收到数据库错误的原因。

您可以使用以下命令升级 Django:

pip install --upgrade django

比你可以使用 django-commands

python manage.py makemigrations
python manage.py migrate

如果您不想升级 Django,请安装 South 并按照其说明进行操作。 http://test-driven-django-development.readthedocs.org/en/v2.0/08-south.html

当您将字段添加到模型而不是数据库时,该新字段在数据库中将没有现有列。新字段不会只是 "magically" 有列出现在现有数据库中。

现在 Django 1.5 有这些选项:

  • 删除数据库并运行再次./manage.py syncdb,
  • 使用 South 能够迁移数据库并将列添加到现有的 table,或者
  • 将 Django 升级到 1.7 或更高版本,并 use Django's own migrations 将新列添加到现有 table。