Django工厂男孩专用扩展

factory-man的Python项目详细描述


工厂工人

factoryman为Factory Boy提供特定于django的扩展。

安装

pip install factory-man

用法

factoryman为您提供一个factory函数create_populated_modelfactory,它接受模型类并基于模型的字段自动创建一个factory类。如果要重写某些字段,可以将它们作为关键字参数传递给__init__方法。

fromfactorymanimportcreate_populated_modelfactoryfrom.modelsimportProjectProjectFactory=create_populated_modelfactory(Project)ExpiredProjectFactory=create_populated_modelfactory(Project,deadline='1999-04-04')

要重写工厂的_create方法,请使用create_override关键字参数。这对于创建工厂男孩文档中描述的多对多连接非常有用。

查看this article获得更详细的用户指南。

低级功能

ModelFieldSequence扩展了factory.Sequence以提供更干练的语法。它接受一个django模型类作为参数,并使用类名和它绑定到的字段名来创建一个唯一的值。

或者,它可以接受string参数,该参数将直接使用,而不是从类和字段派生的名称。

示例:

fromfactory.djangoimportDjangoModelFactoryasModelFactoryfromfactorymanimportModelFieldSequenceclassCharityFactory(ModelFactory):classMeta:model=Charityname=ModelFieldSequence(Charity)# Will be `Charity__name-n`, where n is the object countemail=ModelFieldSequence(string='hello@charity.ee')# Will be `hello@charity.ee-n`, where n is the object count

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java GridBagLayout不填充区域   java Memozied Fibonacci未运行与常规Fibonacci解决方案   Java Web启动未启动问题   Java中异常和if-then的区别   java从命令提示符运行批处理文件获取错误   socket在Java中验证SSL证书的公共名称   如何在JAVA中检查字符串数组中的相等字   用java语言将音频文件转换成文本文件的语音识别   java为什么foo(1,2,3)没有传递给varargs方法foo(对象…)作为整数[]   java通过蓝牙将奇怪的数据从Arduino传输到Android   java ContainerRequestFilter获取空entitystream   java如何从安卓 studio中删除不兼容类型错误   基本Java错误   在Spring引导中使用REST API时发生java错误   javascript通过从SQL查询派生的URL打开页面