2024-04-25 01:10:52 发布
网友
Django已申请。我有一个模型,我删除了一个字段,添加了另一个字段,第三个升级了。当我们现在转到管理面板中的模型时,我得到一条消息:
ProgrammingError at /admin/app/subscription/ column app_subscription.enabled does not exist
命令python manage.py syncdb不起作用。在
python manage.py syncdb
如果您不明确地请求,Django(希望)不会修改您的数据库模式。syncdb命令工作得很好,但是(如文档所述),它只会创建尚未存在的表(并且不会在models中标记为外部管理的表)。在
syncdb
models
因此,这里主要有三种选择:
South
migrate
请注意,解决方案3意味着您确实为您的应用程序创建了迁移文件,如本文所述:http://south.readthedocs.org/en/latest/tutorial/part1.html#the-first-migration
碰巧我在django 1.9.x中遇到了同样的问题,我在django应用程序中添加了一个新字段,它触发了与您前面提到的相同的错误。 我使用登录到dbshell环境
dbshell
python manage.p dbshell # I know some use ./manage.py
并通过在dbshell中运行以下命令来删除我的所有表
这将删除您的所有表(小心,因为您可能会丢失数据,请保留数据!)在执行这个命令之后,你会得到一条消息,告诉你所有的都被删除了。否则,服务器将不会在创建架构后再次运行以下命令:
your_psql=# create schema public;
那就做
python manage.py makemigrations # you might not need this, and python manage.py migrate
你已经准备好了。在
我知道这个答案可能已经很晚了,但我希望它能对某些人有所帮助。在
干杯
如果您不明确地请求,Django(希望)不会修改您的数据库模式。
syncdb
命令工作得很好,但是(如文档所述),它只会创建尚未存在的表(并且不会在models
中标记为外部管理的表)。在因此,这里主要有三种选择:
syncdb
。这意味着你会丢失我们所有的数据,所以这不是一个“解决方案”South
(由于您确实有一个migrate
命令,所以似乎已经安装了它。在请注意,解决方案3意味着您确实为您的应用程序创建了迁移文件,如本文所述:http://south.readthedocs.org/en/latest/tutorial/part1.html#the-first-migration
碰巧我在django 1.9.x中遇到了同样的问题,我在django应用程序中添加了一个新字段,它触发了与您前面提到的相同的错误。 我使用登录到
dbshell
环境并通过在
^{pr2}$dbshell
中运行以下命令来删除我的所有表这将删除您的所有表(小心,因为您可能会丢失数据,请保留数据!)在执行这个命令之后,你会得到一条消息,告诉你所有的都被删除了。否则,服务器将不会在创建架构后再次运行以下命令:
那就做
你已经准备好了。在
我知道这个答案可能已经很晚了,但我希望它能对某些人有所帮助。在
干杯
相关问题 更多 >
编程相关推荐