首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向模型添加了字段,如何更新数据库以对模型进行更改

向模型添加了字段,如何更新数据库以对模型进行更改
EN

Stack Overflow用户
提问于 2015-02-14 11:20:14
回答 1查看 152关注 0票数 1

我所做的只是向模型中添加了一个字段,现在我得到了一个错误消息,指出该列不存在。

在尝试重建数据库时,我使用了-flush (我不关心丢失数据),认为这将重建数据库,但我仍然得到相同的错误。

其他人告诉我使用South,因为我运行的是Django 1.6。

我按照教程操作,在我第一次运行syncdb时,我得到了以下(可能是无关的)错误:

代码语言:javascript
复制
dist-packages/easy-thumbnails/
raise Improperly_Configured(SOUTH_ERROR_MESSAGE)
django.core.exceptions.ImproperlyConfigured:

For South Support, customize the SOUTH_MIGRATION_MODULES setting like so:

South_Migration_Module = {
'easy_thumbnails': 'easy_thumbnails.south_migrations',
}

最终,我想做的就是让我的数据库反映我的模型。当我在我的开发环境中处理这个项目时,我会直接将sqlite文件拖到垃圾桶中,然后运行syncdb,但现在我不能这样做,因为我使用的是postgres。

所以我的问题是,我如何才能完成这个看似简单的任务?无论这是否意味着解决South错误,或者只是不完全使用South (我更喜欢),我都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-02-14 11:29:23

您可以手动打开一个db外壳(>>> python manage.py dbshell)并使用DROP TABLE <table_name>;删除该表。为了让syncdb使用新字段重新创建表,清空该表是不够的。

要解决这个错误,只需完全按照它说的做:将SOUTH_MIGRATION_MODULES设置添加到您的设置中。

话虽如此,我还是建议你使用south。它简化了对模型的更改,并允许您在开发环境中保留测试数据,否则必须重新创建测试数据。这一切都很好,但当您的项目上线时,在对模型进行更改时绝对必须保留您的数据。South是最好的工具。

South是几乎所有Django项目中不可或缺的一部分,Django与South的开发人员合作,从Django 1.7开始将其作为核心功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28512058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档