【问题标题】:Django model-database changesDjango 模型数据库更改
【发布时间】:2013-07-02 16:51:24
【问题描述】:

我有一个在 Django 的应用程序中使用的旧数据库。我使用 django 管理功能从现有表生成 models.py 文件。

如果我对模型进行更改,例如向模型添加unique_together 约束,这些更改是由 Django 管理的,还是我必须以某种方式将所述模型更改应用到数据库?

【问题讨论】:

    标签: database django


    【解决方案1】:

    为了让 django 检测更改,您需要使用名为 south 的第三方迁移工具。现在,由于您已经提交了运行python manage.py syncdb 的意思,您需要删除表并重新开始。

    这就是你的做法(在你删除你的表之后):

    1. 使用pip install south向南安装
    2. 将南添加到已安装的应用中,并确保它位于您创建的所有其他应用之前
    3. 运行这个:python manage.py schemamigration --inital <your app name>
    4. 运行这个:python manage.py migrate <your app name>
    5. 运行这个:python manage.py syncdb

    希望这会有所帮助。

    【讨论】:

    • 不错的答案。不管你最后不需要syncdb
    • @karthikr:如果你是第一次做这一切,你就会这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 2015-01-19
    • 2020-12-13
    • 2019-03-18
    • 2011-06-23
    相关资源
    最近更新 更多