了解 Django 初始数据装置

发布于 2024-09-07 01:53:01 字数 724 浏览 7 评论 0原文

问题

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

配置信息

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

Django关于Fixture位置的文档

什么是 Django django-admin.py 和 manage.py 文档指出:

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

  1. 在每个已安装应用程序的装置目录中
  2. 在 FIXTURE_DIRS 设置中指定的任何目录中
  3. 在由固定装置命名的文字路径中

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

Question

  • Why does Django automatically load the initial_data.json fixture when it's located inside the project directory but not located in one of the three specified locations that Django searches for fixtures?

Configuration Information

  1. I have not set the FIXTURE_DIRS setting in settings.py
  2. Django 1.2.1

Django's Documentation Regarding Fixture Locations

The What's a "Fixture" section of Django's django-admin.py and manage.py documentation states:

Django will search in three locations for fixtures:

  1. In the fixtures directory of every installed application
  2. In any directory named in the FIXTURE_DIRS setting
  3. In the literal path named by the fixture

Django will load any and all fixtures it finds in these locations that match the provided fixture names.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

執念 2024-09-14 01:53:01

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

希望这有帮助。

initial_data is actually behaviour belonging to syncdb. What you are citing is the default places loaddata will look for when queried. initial_data.json is detected by the syncdb option and passed to loaddata. I agree it's a bit confusing, but you are actually mixing general fixture loading behaviour (loaddata) with automatic fixture loading behaviour (syncdb).

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文