我有一个这样的食谱:
import factory
from models import Foobar
class MenuItemFactory(factory.Factory):
class Meta:
model = MenuItem
name = 'Default Foobar'
url = factory.LazyAttribute(lambda o: '/%s' % o.name)
我想添加动态属性,比如slug
,但我想在单独的方法中添加。我想要这个,因为用lambda的一行程序编写任何更复杂的逻辑都会很难看。在
一个想法浮现在脑海中,使用property
方法,就像Django模型中那样。例如:
有没有一种方法,类似这样,可以完成我正在努力做的事情?在
编辑
最后我想完成的是:
menu_item = MenuItemFactory(name='foobar')
menu_item.name = 'foobar'
menu_item.url = '/foobar'
其中slug
充当一个动态属性。换句话说,我正在寻找一个合适的地方来存储我的动态属性逻辑。在
结果很简单,我花了一段时间才在文件里找到它。在
您可以使用属性builtin https://docs.python.org/3.6/library/functions.html#property
相关问题 更多 >
编程相关推荐