修改Django中列的规范的最佳方法

时间:2011-11-22 21:41:16

标签: django postgresql heroku

我正在使用Django和Postgres以及Heroku。我有一个看起来像这样的帖子表。

 class Post( models.Model ):
       .
       .
       content1 = models.CharField(max_length=1000)
       .

我的一个朋友告诉我限制太小,现在我想将maxlength更改为10000.我可以考虑通过创建一个名为content2的新列来交替表,然后从content1复制内容,然后删除内容1。我对此很新,并且想知道解决这个问题的最佳方法是什么。

对于博客文章来说10000也是一个很好的长度? :d

1 个答案:

答案 0 :(得分:1)

您可以使用dumpdata将数据保存到json文件并在重新创建后重新加载它,也可以使用新参数手动更改表。或者你可以使用南方。

South为django提供数据库迁移(称为更改表格布局)。

pip install south

将南方添加到INSTALLED_APPS然后运行

python manage.py schemamigration --initial your_app_name
python manage.py migrate --fake your_app_name

对models.py进行更改,然后运行

python manage.py schemamigration --auto your_app_name
python manage.py migrate your_app_name

现在,如果要在多台计算机上更改相同的数据库布局,请将创建的迁移文件签入git并在需要更新的所有计算机上运行“migrate”命令。

相关问题