在不加载initial_data.json的情况下运行迁移

时间:2015-08-13 15:07:21

标签: django django-migrations django-fixtures

我在我的应用程序中的json中为我的应用程序提供了一个用户列表:

myapp/
  fixtures/
    initial_data.json
每次运行python manage.py migrate时都会加载

。我已经阅读了Providing initial data for models文档,但没有提到有关避免加载它的任何内容。

我想知道是否有一个命令在没有加载initial_data的情况下运行python manage.py migrate

2 个答案:

答案 0 :(得分:0)

您应该使用数据迁移,因为灯具不能与迁移一起使用。自Django 1.7以来,Fixtures已弃用,将在Django 1.9中删除

答案 1 :(得分:0)

考虑升级到Django == 1.8。升级后你不应该遇到很多问题。您的Django版本是什么?

无论如何,看看documentation,因为Django> = 1.7自动加载灯具不起作用:

  

如果应用程序使用迁移,则不会自动加载灯具

如果您的迁移文件夹中包含 __ init __。py 文件,则应用程序会使用迁移。

如果你使用Django> = 1.7并且在你的应用中使用迁移,那么当你运行python manage.py migrate时,你就不会加载自动装置。

但是,如果您没有在应用中使用迁移,那么如果您的fixture文件名为 initial_data.json ,则始终会加载自动装置。

您可以将 initial_data.json 文件重命名为任何其他名称(如mydata.json),以避免自动加载装置,然后,您可以通过运行随时加载数据:

django-admin.py loaddata mydata.json