【问题标题】:Django: Trying to organize django fixturesDjango:试图组织 Django 固定装置
【发布时间】:2011-10-05 03:17:36
【问题描述】:

我创建了一些模型,我想为其提供初始数据。问题是有几个模型,我想组织数据。

目前,我有一个很大的 JSON 文件:initial_data.json,其中包含数据。我在想我可以使用一些 cmets,但 JSON 没有 cmets!我真的很想用json。

所以,文件是这样的:

[
  {
    "model": "app1.Model1",
    "pk": 1,
    "fields": {
      "nombre": "A convenir con el vendedor"
    }
  },
//many more
  {
    "model": "app2.Model1",
    "pk": 1,
    "fields": {
      "nombre": "A convenir con el vendedor"
    }
  },
//many more
  {
    "model": "app2.Model1",
    "pk": 1,
    "fields": {
      "nombre": "A convenir con el vendedor"
    }
  },
]

所以,我想我可以将它们组织在不同的文件中,并使用一些初始脚本加载它们。这个想法不是问题几个python manage.py loaddata thisApp.Model 但是,那么将很难分离初始时不加载的文件。

以下是文件示例:

+app1
   +fixtures
      model1.json
      model2.json
+app2
   +fixtures
      model1.json
      model2.json
+app3
   +fixtures
      model1.json
      model2.json

你知道如何保持简单吗?

【问题讨论】:

    标签: django django-admin fixtures


    【解决方案1】:

    如您所说,创建几个文件,然后编写一个脚本,将它们组合成initial_data.json 并调用所需的django.core.management 命令。这就是我所做的。

    【讨论】:

    • 我觉得我写得不好。我的英文不是很好。问题是:在每个fixtures 文件夹中都会有初始数据和其他数据。你怎么能把它们区分开来?
    • 如果您对文件使用某种命名约定,您的脚本可以使用它们的名称来区分它们。例如,对要合并到 initial_data.json 的文件使用前缀 initial_data。比如initial_data_1.json等,我理解的正确吗?
    【解决方案2】:

    调用包含初始数据的文件“initial_data.json” - syncdb 只会加载那些。您可以使用 manage.py loaddata 手动加载其他文件。

    https://docs.djangoproject.com/en/dev/howto/initial-data/#automatically-loading-initial-data-fixtures

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2011-01-29
      • 2016-04-01
      • 2014-01-10
      相关资源
      最近更新 更多