问题标签 [django-fixtures]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
52 浏览

python - 有没有办法防止灯具根据环境加载?

我使用每个环境的 en .env 文件来设置必须根据环境不同的设置变量。一个例子是:

在 settings.py 文件中: DEBUG = (os.environ['DJANGO_DEBUG'] in ['True', 'true'])

在 DEV 环境的 .env 文件中: DJANGO_DEBUG=True

我想当我在生产环境中运行同步数据库时,夹具不加载。我阅读了文档,但没有找到任何与灯具相关的设置变量。

你会怎么做?(目前,我只是没有在 github 上上传固件文件,很脏!)请注意,我使用的是 Django 1.6。

谢谢。

0 投票
1 回答
976 浏览

python - 从 0 个固定装置安装了 0 个对象,未正确读取 FIXTURE_DIRS

这是我的设置

当我运行 syncdb 时有什么奇怪的,我得到以下信息。它递归地加载FIXTURE_DIRS. 它找不到任何目录,因为它们不存在。

0 投票
2 回答
1621 浏览

django - 如何在 Django 1.7+ 中创建每个项目的 initial_data 固定装置

在 Django 1.7 之前,我曾经在设置中定义每个项目的fixtures目录:

并使用它来放置我的固定装置,以存储整个项目必不可少initial_data.json的默认组。这对我来说效果很好,因为我可以通过将每个项目数据与特定于应用程序的数据分开来保持设计整洁。

现在在 Django 1.7 中,initial_datafixtures 已被弃用,建议数据迁移与应用程序的模式迁移一起包括在内;没有为全球每个项目的初始数据留下明显的选择。

此外,新的迁移框架会在为兼容的应用程序(包括应用程序)执行迁移之前安装所有旧的初始数据固定装置django.contrib.auth。此行为会导致包含默认组的我的夹具安装失败,因为该auth_group表尚不存在于数据库中。

关于如何(优雅地)在所有迁移之后或至少在身份验证应用程序迁移之后运行固定装置的任何建议?或任何其他想法来解决这个问题?我发现固定装置是提供初始数据的好方法,并且希望有一种简单而干净的方式来声明它们以进行自动安装。新的RunPython实在是太笨重了,我认为它在大多数情况下都是矫枉过正的;它似乎仅适用于每个应用程序的迁移。

0 投票
3 回答
4428 浏览

django-fixtures - Django Sites Framework:初始数据迁移位置

在 Django 1.7 之前,当使用Django Sites Framework时,可以/应该使用Initial Fixtures定义初始数据。

myproject/fixtures/initial_data.json

由于它是一个全局项目设置,我在项目根目录中添加了一个“fixtures”文件夹,并将其添加到 FIXTURE_DIRS。

现在,我使用的是 Django 1.7,建议使用migrations。引用 Django 文档:

要为您的项目设置正确的名称和域,您可以使用数据迁移。

问题是迁移是特定于应用程序的

python manage.py makemigrations --empty yourappname

那么,使用数据迁移将站点信息添加到我的项目的推荐方法是什么?这种迁移应该住在哪里?

运行python manage.py makemigrations --empty sites会在第三方应用程序文件夹中创建迁移,所以我们不希望这样。

不应该将 MIGRATION_DIRS 定义为初始数据存在的 FIXTURE_DIRS 吗?

我在设置文档中找到了MIGRATION_MODULES,但问题仍然存在,它是特定于应用程序的。

0 投票
1 回答
434 浏览

django - Django 中的相对固定路径在 Windows 上不起作用

我有一个 Django 1.6.6 项目,它没有在 Windows 8.1 上使用 Python 2.7.8 从相对路径加载固定装置。在 Linux 中工作得很好。

示例测试用例:

它适合以下目录结构:

具体的错误信息是:

相应的应用程序模块已列出,INSTALLED_APPS否则可以正常工作。指定绝对路径确实有效,但显然不是跨平台的。指定根相对路径不起作用,例如:/products/fixtures/brands.json

这些固定装置是怎么回事?

0 投票
1 回答
3400 浏览

django - Django测试错误安装夹具 - 没有这样的表

运行“python manage.py test”后出现奇怪的错误

但我使用了与“python manage.py loaddata initial_data.json”相同的装置

升级版:

测试.py

0 投票
1 回答
3196 浏览

python - Django 固定装置和 AttributeError:'QuerySet' 对象没有属性

我通过简单的集成测试看到了这个错误。django 应用程序storageadmin使用一个模型调用Disk,该模型调用一个自定义模型方法,称为pool_name. 我正在使用 South 和 django 休息框架,并且SOUTH_TESTS_MIGRATE = Falsesettings.py

使用此命令创建夹具。默认数据库在 dumpdata 之前由应用程序填充了一些模型,足以进行测试。

./bin/django dumpdata storageadmin oauth2_provider auth.User --indent=2 > src/rockstor /storageadmin/fixtures/storageadmin.json

该错误涉及以下模型

有一个序列化程序在视图中用于发送响应

视图返回这样的响应

编辑:如正确答案所示,问题出在上述视图中。我使用的是非常旧的 DRF(2.1.15),但当前正在测试的版本(2.4.3)需要 ds = DiskInfoSerializer(Disk.objects.all(), many=True)

触发错误的简单测试用例是:

最后,错误是

该代码工作正常,问题仅在测试时出现。

0 投票
0 回答
98 浏览

python - google app engine datastore django-nonrel 加载夹具上的模型标识符无效

我正在尝试使用数据存储作为数据库在谷歌应用引擎上实现 django-nonrel,但是在本地开发服务器上加载固定装置时出错

这是我的文件夹结构

初始数据.json

模型.py

我试着跑

都给出相同的错误

0 投票
1 回答
465 浏览

django - 在 loaddata 命令(加载夹具)之后执行操作的钩子

post_syncdb信号可以在 syncdb 之后执行可以执行的操作。在加载固定装置后,即在命令之后,是否有类似的钩子来执行一些操作python manage.py loaddata

我有一个脚本,可以创建一个新数据库、运行 migrate (syncdb) 并从 JSON 设备加载数据。发布所有这些,我想为已创建的用户创建组和权限。我在哪里插入该代码?

PS 使用post_migrate而不是post_syncdb1.7+

0 投票
0 回答
43 浏览

django - 我可以在将 Django 夹具数据写入数据库之前对其进行处理吗?

假设您有一个带有强制外键的简单模型:

我想从夹具文件中加载 Pupil 实例,但在我的代码中添加一个默认教师,这样就不能在夹具文件中输入教师:

我试图像这样在init中分配老师:

和类似的事情也在保存但没有成功。