理解Django initial_data fixture

时间:2010-06-24 15:49:15

标签: django django-fixtures

问题

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

配置信息

  1. 我没有在settings.py
  2. 中设置FIXTURE_DIRS设置
  3. Django 1.2.1
  4. Django关于灯具位置的文档

    Django的What's a "Fixture"文档的django-admin.py and manage.py部分说明:

      

    Django将在三个地点搜索灯具:

         
        
    1. 在每个已安装的应用程序的fixtures目录中
    2.   
    3. 在FIXTURE_DIRS设置中指定的任何目录
    4.   
    5. 在灯具命名的文字路径中
    6.         

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

1 个答案:

答案 0 :(得分:5)

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

希望这有帮助。