如何在不使用生成函数的情况下编写自定义工厂属性
How to write a custom factory attribute without using the generate function
我目前有代码:
class QuerySuggestion(factory.Factory):
class Meta:
model = dict
@factory.lazy_attribute
def query(self) -> str:
word = factory.Faker("word")
return f'<span>{word.generate({"locale": "en"})}</span> {word.generate({"locale": "en"})}'
除了维护者说 not to use the generate()
function.
的事实之外,它的效果很好
我应该怎么做?
最简单的选择是通过 class Params
:
class QuerySuggestion(factory.Factory):
class Meta:
model = dict
class Params:
word1 = factory.Faker('word')
word2 = factory.Faker('word')
query = factory.LazyAttribute(
lambda o: f"<span>{o.word1}</span> {o.word2}"
)
我目前有代码:
class QuerySuggestion(factory.Factory):
class Meta:
model = dict
@factory.lazy_attribute
def query(self) -> str:
word = factory.Faker("word")
return f'<span>{word.generate({"locale": "en"})}</span> {word.generate({"locale": "en"})}'
除了维护者说 not to use the generate()
function.
我应该怎么做?
最简单的选择是通过 class Params
:
class QuerySuggestion(factory.Factory):
class Meta:
model = dict
class Params:
word1 = factory.Faker('word')
word2 = factory.Faker('word')
query = factory.LazyAttribute(
lambda o: f"<span>{o.word1}</span> {o.word2}"
)