2

问题

  • 为什么initial_data.json当夹具位于项目目录中但不在 Django 搜索夹具的三个指定位置之一时,Django 会自动加载夹具?

配置信息

  1. 我没有FIXTURE_DIRS在 settings.py 中设置设置
  2. Django 1.2.1

Django 的关于夹具位置的文档

Django 的django-admin.py 和 manage.py文档的What's a "Fixture"部分指出:

Django 将在三个位置搜索固定装置:

  1. 在每个已安装应用程序的 fixtures 目录中
  2. 在以 FIXTURE_DIRS 设置命名的任何目录中
  3. 在夹具命名的文字路径中

Django 将加载它在这些位置找到的与提供的灯具名称匹配的所有灯具。

4

1 回答 1

5

initial_data 实际上是属于syncdb的行为。您引用的是 loaddata 在查询时将查找的默认位置。initial_data.json 由 syncdb 选项检测并传递给 loaddata。我同意这有点令人困惑,但您实际上是在将一般夹具加载行为 (loaddata) 与自动夹具加载行为 (syncdb) 混合在一起。

希望这可以帮助。

于 2010-06-24T16:11:03.140 回答