如何在1.4.2版本中执行django syncdb?

时间:2015-05-22 03:38:58

标签: python django django-models django-syncdb

如何在django 1.4.2中执行syncdb? 即在数据库中有数据,如何在更新数据模式时再次加载模型?

提前致谢

2 个答案:

答案 0 :(得分:6)

当您使用旧版django时,您需要安装South模块并为您的应用进行迁移。

要安装South,您可以使用pipeasy_install

pip install South

安装南模块后,将其放入django项目设置“INSTALLED_APPS

INSTALLED_APPS = (
...
"south"
)

然后,您需要先为您的应用进行初始迁移。因此,对于名为example的应用程序,您可以运行命令:

python manage.py makemigrations example --initial
python manage.py migrate

创建初始迁移后,您可以对模型进行更改,然后进行新的迁移并应用它们。

python manage.py makemigrations example --auto
python manage.py migrate

答案 1 :(得分:3)

感谢Amyth提示。
顺便说一句命令有点不同,我会在这里发布一个10x测试结果。

使用南 1.设置模型

python manage.py schemamigration models --initial

  1. 如果必须
  2. 转储数据

    python manage.py dumpdata -e contenttypes -e auth.Permission --natural > data.json

    1. syncdb
    2. python manage.py syncdb
      python manage.py migrate models

      1. 将数据加载回db
      2. python manage.py loaddata data.json

        1. 之后,您可以使用
        2. python manage.py schemamigration models --auto
          python manage.py migrate models

          在模型架构中进行的每次更改后
          几点说明 1.卸载数据库并重新加载它是必不可少的,因为如果不这样做,第一次迁移将告诉您已经拥有这些模型。
          2. -e contenttypes -e auth.Permission --natural中的dumpdata参数是必不可少的,否则在执行loaddata时会抛出异常。