稍后在项目中使用MySQL添加模型属性

时间:2013-08-15 18:17:23

标签: mysql django migration mamp

我有一个正在运行的django项目,我想添加一个新的模型属性。我该怎么做?

目前我已经完成了

class Stream(models.Model):
    workingattributes = models.CharField(max_length=100)
    step = models.CharField(max_length=1)

当我运行'python manage.py runserver'时,我收到了

DatabaseError: (1054, "Unknown column 'livestream_stream.step' in 'field list'")

我已经进入MAMP并访问了我的数据库并添加了一个新列'step',但是我收到了同样的错误。任何人都有关于如何添加新属性的建议?感谢

2 个答案:

答案 0 :(得分:3)

您需要使用South(或类似的东西)来执行Schemamigration。阅读文档以了解如何操作。它非常简单,并且在您的项目后期(当您的数据库中有大量数据时)将非常有用。唯一的其他选择(除了使用其他迁移工具)是删除数据库并再次创建它,这将丢失您的所有数据。

答案 1 :(得分:0)

你应该根据@Daniel Rosenthal建议使用South,但是你在创建列后仍然收到错误的原因是你创建的列应该被命名为appname_modelname而不仅仅是model_name所以你需要foo_step