问题标签 [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 回答
3754 浏览

django - Django 测试 - 夹具用户匹配查询不存在

我正在尝试运行加载夹具的测试。其中一个模型具有 的GenericForeign密钥ContentType和 的外键auth.Users。它将用户与他们创建的内容相关联。--natural我用键(如下所示)创建了夹具,并且可以将外键解析为名称。

运行我的测试时,我收到以下错误:

由 manage.py 转储的示例数据库对象:

完整追溯:

编辑:

我已经确认供应商模型引用的所有用户都存在于数据库中。

更新 1:

我的项目使用 ContentType 的 GenericForeign 键和 auth.Users 的外键。我使用 --natural 选项转储了数据,但这导致了上述问题。现在我删除了 --natural 选项,而是转储了所有 3 个应用程序 myApp、auth、contenttypes 的数据。当我运行测试时,我得到“无法加载 contenttypes.ContentType(pk=50): columns app_label, model are not unique”。我认为这是由于导入模型时动态创建的内容类型。这有什么办法?

0 投票
3 回答
2856 浏览

django - Django 测试和 ContentType 通用关系装置

如何在 Django 单元测试中使用 GenericRelations?

我在互联网上阅读并尝试了无数建议,但无济于事。

在 Django 中加载固定装置时,这是有希望的

但是 Django 1.6 中不再存在“重置”命令

我的项目对 ContentType 使用 GenericForeign 键,对 auth.Users 使用外键。我使用 --natural 选项仅为我的应用程序转储了数据,但这会导致测试数据库中不存在用户的问题。现在我删除了 --natural 选项,而是转储了所有 3 个应用程序 myApp、auth、contenttypes 的数据。当我运行测试时,我得到“无法加载 contenttypes.ContentType(pk=50): columns app_label, model are not unique”。我认为这是由于导入模型时动态创建的内容类型。

使用的命令:

接下来我转储了 myApp,auth 离开了 contenttypes。我认为由于 ContentTypes app db 是动态创建的,并且我的灯具具有自然键,所以这应该可以工作。它没有。

现在我得到:

如何让带有 contetypes 的固定器工作?在测试中使用设置和创建对象会更好吗?

0 投票
1 回答
263 浏览

database - 在 Django 数据库中加载夹具的选项

https://docs.djangoproject.com/en/dev/howto/initial-data/上,它说要运行manage.py loaddata <fixturename>以重新加载数据,或者将夹具命名为“initial_data”以在每次迁移时加载它。

在页面https://code.djangoproject.com/wiki/Fixtures上,它说可以使用 加载固定装置python manage.py syncdb,但看起来必须先重置数据库(真还是假?)。

最后,在https://docs.djangoproject.com/en/dev/ref/django-admin/上,它说使用django-admin.py loaddata <fixturename>重新加载。这些都是同一件事的选择吗?或者有什么区别?

0 投票
0 回答
136 浏览

django - django 将 yaml utf8 夹具转储到 postgresql

我有以下夹具:

我使用以下方法创建了数据库:

然而我得到:

如果我删除:

并将其替换为

夹具加载,但在数据库中“ç”不正确:

yaml 应该默认为 utf8。与unicode()或重载某些功能有什么关系?

** 编辑 **

它不是来自 postgresql,因为:

将显示正确的 utf8 编码数据。我正在使用 django 1.6

0 投票
1 回答
721 浏览

django - Django 为具有模型触发器的模型提供初始数据

我有一个 Django 1.6.2 应用程序、一些模型逻辑(重写的“保存”方法和信号事件处理程序),并且我使用loaddata fixture\data.json命令来填充初始数据库。

但是,问题是 - loaddata 不会触发save方法并且不会发送signal. 它只是将数据转储到基础...

你能建议用数据+所有模型逻辑初始化基础的夹具或填充方法吗?

0 投票
0 回答
1419 浏览

python - Django 1.4:如何忽略 loaddata 中的字段、模型

我们有一个 15MB 的压缩转储数据,上传提取到 100MB。它几乎没有当前表中未使用的模型和字段。

具体来说,可以忽略的模型很少,contenttypes模型中有一个字段field_可以忽略。

Django 1.5 用户-ignorenonexistent可以安全地完成忽略工作。但是如何在 1.4 中有效地做到这一点?

0 投票
1 回答
1075 浏览

python - Django初始数据夹具安装顺序

我的固定装置以错误的顺序加载,因此无法安装 -应用程序 A创建了一个模型,该模型具有应用程序 B中模型的外键,但 Django 尝试首先加载应用程序 B的初始数据。

如何控制初始数据的安装顺序?

0 投票
1 回答
1448 浏览

python - “字符串或 unicode 输入无法识别为 WKT EWKT 和 HEXEWKB”

我正在尝试将倾倒的 geodjango 夹具加载到 postgis 中。夹具完美地加载到具有相同设置的其他计算机中,但在我的设置中,我得到:

(我很确定这是与配置/环境相关的问题。)

0 投票
1 回答
133 浏览

python - 没有为 Unittest 加载 Django 1.6.1 Fixtures

Django 没有为以下测试加载夹具。

这指向以下视图但从该视图我无法检索 device_list

我的 test_device.json 文件如下

文件结构是

知道我做错了什么吗?请提供建议..

0 投票
0 回答
112 浏览

django - django:南方数据迁移的工厂男孩?

过去我们使用南数据迁移来更新表中的数据。

对于固定装置,我们希望将来使用 factory boy。

在南方数据迁移中,我只有orm,并且不能导入真实模型。

是否可以在南方数据迁移中使用工厂男孩?

背景:我想在两个地方重用代码:

  • 南方数据迁移
  • 单元测试