相关疑难解决方法(0)

使用Django 1.7加载初始数据和数据迁移

我最近从Django 1.6切换到1.7,我开始使用迁移(我从未使用过South).

在1.7之前,我曾经用一个fixture/initial_data.json文件加载初始数据,该文件是用python manage.py syncdb命令加载的(创建数据库时).

现在,我开始使用迁移,并且不推荐使用此行为:

如果应用程序使用迁移,则不会自动加载灯具.由于Django 2.0中的应用程序将需要迁移,因此不推荐使用此行为.如果要加载应用程序的初始数据,请考虑在数据迁移中执行此操作.(https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures)

官方文件并没有对如何做一个明显的例子,所以我的问题是:

使用数据迁移导入此类初始数据的最佳方法是什么:

  1. 通过多次调用编写Python代码mymodel.create(...),
  2. 使用或编写Django函数(如调用loaddata)从JSON fixture文件加载数据.

我更喜欢第二种选择.

我不想使用South,因为Django现在似乎可以原生地使用它.

python migration django json data-migration

91
推荐指数
3
解决办法
3万
查看次数

如何备份django db

我有一个使用Postgres数据库的Django应用程序.我需要能够备份和恢复数据库,以确保没有数据丢失,并且能够在测试期间将数据从生产服务器复制到开发服务器.

似乎有几种不同的方法可以做到这一点:

  1. 只需直接与db交互.因此,对于Postgres,我可能会使用pg_dumpall和编写脚本psql.

  2. 使用Django 附带的sqlclear/ sqlall命令.

  3. 使用Django 附带的dumpdata/ loaddata命令.因此,从要备份的db创建新的fixture,然后将它们加载到要还原的db中.

  4. 使用Django插件,如django-dbbackup.

我真的不明白这些不同技术的优点/缺点.

刚刚开始:选项1是特定于数据库的,选项3似乎更适合设置初始数据.但我仍然不确定选项4对选项2的优势.

django database-restore database-backups

41
推荐指数
2
解决办法
2万
查看次数