首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工厂-男孩- KeyError:‘区域设置’

工厂-男孩- KeyError:‘区域设置’
EN

Stack Overflow用户
提问于 2020-10-22 00:44:28
回答 1查看 329关注 0票数 0

在运行我的pytests的过程中,从factory-boy得到了以下异常:

代码语言:javascript
复制
    def generate(self, params):
>       locale = params.pop('locale')
E       KeyError: 'locale'

如何解决这个问题?几天前一切正常,我的代码没有改变。

下面是代码示例:

代码语言:javascript
复制
import factory
from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=100)
    price = models.PositiveIntegerField()
    is_cheat = models.BooleanField()

class MyModelFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = MyModel
    name = factory.Faker("name")
    is_cheap = factory.Faker("boolean")
    price = factory.Maybe("is_cheap", yes_declaration=factoryFaker("pyint", max_value=10), no_declaration=factory.Faker("pyint", min_value=100))
EN

回答 1

Stack Overflow用户

发布于 2020-10-22 00:44:28

faker.py中,我看到.pop()中没有默认值

代码语言:javascript
复制
def generate(self, params):
    locale = params.pop('locale')  # <-- Issue occurs here
    subfaker = self._get_faker(locale)
    return subfaker.format(self.provider, **params)

但不确定它是否应该在那里。factory-boy作者的Here is the comment,并对情况进行了解释。

看起来3.1.0中有一个错误,降级到应该会对有所帮助。至少是暂时的,因为他们还没有解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64468133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档