问题标签 [factory-boy]

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 投票
0 回答
112 浏览

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

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

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

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

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

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

  • 南方数据迁移
  • 单元测试
0 投票
1 回答
227 浏览

python - 具有默认模糊字段的 Factoryboy Django 模型

我正在使用 factoryboy 来模拟一个像下面这样的模型,我想知道是否有一种更清洁的方法不涉及复制所有字段。

如果 factoryboy 只是推断模型字段的数字性质并且不需要工厂字段,那就太好了,例如

这可能吗?

0 投票
1 回答
3917 浏览

python - 如何在调用 save() 之前让 FactoryBoy 的 ImageField 生成图像?

主题。

现在(Factory Boy ver. 2.4.1.)使用以下代码:

imageNone在保存时间,因此如果Image模型已save被覆盖并且它与 一起运行image,它将失败。这正是我的情况。

那么 - 如何在调用之前生成图像save

0 投票
3 回答
1770 浏览

django - django 中非数据库字段的工厂男孩

我有一个 django 模型,它在保存时会触发在外部服务上创建帐户(与 django 没有任何关系)。不过,为了测试,我想禁止创建此帐户。我可以覆盖管理器的 save() 方法并从那里弹出 kwarg,或者我可以根据 Django 模型中的非数据库字段向模型添加一个非数据库字段属性,并在我的保存方法中检查它。

但是,当我尝试使用 factoryboy 创建对象时,它似乎会检查模型中的真实字段,由于属性不是字段而导致崩溃。

关于如何通过 factoryboy 传递诸如此类的额外参数的任何想法?

0 投票
1 回答
4743 浏览

django - 安装 factory_boy 后,无法识别导入。

pip install factory_boy 似乎安装包没有问题。运行 pip freeze 显示:

但是,当我编辑测试以放入 import factory 或 import factory.django... 我得到结果:

我遵循了以下建议: 使用 pip 安装 factory_boy 时遇到问题 ,但没有结果。

不知道如何继续,任何帮助将不胜感激。

0 投票
4 回答
1013 浏览

python - factory_boy UserFactory:没有这样的表:auth_user

我正在尝试创建一个UserFactory,运行时出现此错误./manage.py test

这是我的factories.py文件的样子:

有人知道这里发生了什么吗?

0 投票
1 回答
185 浏览

python - 使用 dango_get_or_create 时出现 KeyError

我正在使用带有以下工厂的 Factory Boy 2.4.1、Django 1.4.11 和 python 2.7:

每次我尝试使用工厂创建用户时,我都会得到:

我尝试将现有密钥放入该django_get_or_create字段但没有成功。怎么了?

正如评论所说,出了什么问题,它应该是django_get_or_create = ('username',); 即类的键,而不是数据库的键。

0 投票
2 回答
982 浏览

python - 如何为 Factory Boy 指定数据库?

FactoryBoy 似乎总是在默认数据库中创建实例。但我有以下问题。

代码指向global数据库。我还没有找到在工厂内指定数据库的方法:

0 投票
1 回答
1513 浏览

python - 当我想要列表时,带有工厂男孩的 post_generation 给了 ManyRelatedManager

我显然是个笨蛋,我会在一开始就承认这一点。我正在使用以下工厂

当我创建它时,PDS=DataSheetFactory(product_contributors= (<tuple of users>))我期望该字段中的用户列表product_contributors,但我得到了一个django.db.models.fields.related.ManyRelatedManager,因此测试将不起作用。当我按照这里的“常用食谱”进行操作时,我应该怎么做?

澄清一下,我问的是如何使用 factory boy 在模型的多对多字段中创建用户列表。我尝试了文档中的建议,我得到了一个ManyRelatedManager,而不是一个列表,因此factory_boy生成了不可用的实例。

0 投票
2 回答
2588 浏览

python - 为什么在 Django 中的测试之间对象主键会增加?

使用SetUp()方法,应该在每次测试之间清除和重新创建数据。那么,为什么 ids 从一个测试增加到另一个?这对我来说并不明显。

这样我就不能基于 id 进行测试(因为它们依赖于其他测试)。这就是为什么我想总是得到1结果。

请注意,我对数据本身没有任何问题,旧数据从一个测试到另一个测试都被很好地清除了。问题只是关于ID。

我在这里读到了单元测试之间的 django 对象 ids 增量,该问题与数据库有关,而不是与 Django 相关,但是 Django 中有什么技巧可以改变它吗?